【发布时间】:2018-07-15 04:18:15
【问题描述】:
我无法让 pyplot 颜色条在我专门设置 facecolors=None 并且只想显示散点圆的边缘的散点图中配合。有人可以指出我正确的方向吗?谢谢。
这很好用:
# Solid circles - colorbar shows
plt.scatter(x, y, c=z, s=15, lw=0.3, cmap='viridis')
plt.colorbar()
plt.show()
...但这不是:
c = plt.cm.viridis(z)
plt.scatter(x, y, facecolors = 'none', edgecolors = c, s = 15, lw = 0.3)
plt.colorbar()
plt.show()
Traceback (most recent call last): File "/API/ML_GenerateFeatures.py", line 221, in
<module> va.scatter_color(df.OIR, df.fwd_delta_mid, df.spread)
File "/API/ML_GenerateFeatures.py", line 184, in scatter_color plt.colorbar()
File "C:\Python27\Lib\site-packages\matplotlib\pyplot.py", line 2180, in colorbar ret = gcf().colorbar(mappable, cax = cax, ax=ax, **kw)
File "C:\Python27\Lib\site-packages\matplotlib\figure.py", line 1844, in colorbar cb = cbar.colorbar_factory(cax, mappable, **kw)
File "C:\Python27\Lib\site-packages\matplotlib\colorbar.py", line 1365, in colorbar_factory cb = Colorbar(cax, mappable, **kwargs)
File "C:\Python27\Lib\site-packages\matplotlib\colorbar.py", line 918, in __init__ mappable.autoscale_None()
File "C:\Python27\Lib\site-packages\matplotlib\cm.py", line 348, in autoscale_None
raise TypeError('You must first set_array for mappable')
TypeError: You must first set_array for mappable
【问题讨论】:
-
None 代替 'none" 不会改变颜色图问题。
-
我很感激。问题是我应该在第二个示例中传递给 plt.colorbar() 的内容。应该是直截了当的,但我不能让它工作。顺便说一句,None 代替 'none' 不起作用 - 我有点太快了。
-
从这个thread,我看到人们鼓励你让
scatter处理.colorbar()。您可能想发表评论。
标签: python matplotlib colorbar