我正在尝试生成一个散点图,它有两个不同的y轴和一个色条。
下面是使用的伪代码:
#!/usr/bin/python
import matplotlib.pyplot as plt
from matplotlib import cm
fig = plt.figure()
ax1 = fig.add_subplot(111)
plt.scatter(xgrid,
ygrid,
c=be, # set colorbar to blaze efficiency
cmap=cm.hot,
vmin=0.0,
vmax=1.0)
cbar = plt.colorbar()
cbar.set_label('Blaze Efficiency')
ax2 = ax1.twinx()
ax2.set_ylabel('Wavelength')
plt.show()
我的问题是,如何为“波长”轴使用不同的刻度,以及如何将色条向右移动,使其不受波长的影响?
plt.colorbar()
是为非常简单的情况而制作的,例如,没有真正考虑具有2个y轴的绘图。 对于colorbar位置和属性的细粒度控制,您几乎应该始终使用colorbar指定要在哪个轴上打印colorbar。注意,colorbar使用以下关键字:
你也可以在这里看到我关于figure colorbar on separate axes的更广泛的答案。
@OZ123抱歉,我花了这么长时间才回复。Matplotlib具有可扩展的可定制性,有时会让您对实际操作感到困惑。感谢您对创建单独轴的帮助。
然而,我不认为我需要那么多的控制,我最终只使用了PAD关键字参数
这提供了我所需要的。
然后伪代码变成:
以下是显示它现在的样子::
相关问题 更多 >
编程相关推荐