python – 在matplotlib中绘制多个y轴和颜色条
作者:互联网
我正在尝试生成一个散点图,它有两个不同的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()
它产生了这个情节:
plot http://i48.tinypic.com/2zix7x1.png
我的问题是,你如何使用不同比例的“波长”轴,以及如何将颜色条更多地向右移动,使其不是波长的方式?
解决方法:
@ OZ123对不起,我花了这么长时间回复. Matplotlib具有可扩展的可定制性,有时甚至会让您对实际操作感到困惑.感谢您帮助创建单独的轴.
但是,我认为我不需要那么多控制,最后我只使用了PAD关键字参数
fig.colorbar()
这提供了我所需要的.
然后伪代码成为:
#!/usr/bin/python
import matplotlib.pyplot as plt
from matplotlib import cm
fig = plt.figure()
ax1 = fig.add_subplot(111)
mappable = ax1.scatter(xgrid,
ygrid,
c=be, # set colorbar to blaze efficiency
cmap=cm.hot,
vmin=0.0,
vmax=1.0)
cbar = fig.colorbar(mappable, pad=0.15)
cbar.set_label('Blaze Efficiency')
ax2 = ax1.twinx()
ax2.set_ylabel('Wavelength')
plt.show()
这是显示它现在的样子::
标签:scatter,colorbar,python,matplotlib 来源: https://codeday.me/bug/20190729/1572836.html