如何使用颜色条散布底图?
How to basemap scatter with colorbar?
我想绘制一系列散点 xx、yy,r 是点值。我想为 r 值创建颜色条。类似于2-D coordination plot,只是在本例中改变底图。
sc=map.scatter(xx,yy,r,s=30,cmap=plt.cm.jet)
plt.colorbar(sc)
但提示:
TypeError: scatter() got multiple values for argument 's'
This answer 解释说 scatter
中的第 3 个参数是 size
隐含的?
那么,它有什么问题呢?以及如何 m.scatter 点与颜色条?
如果您不标记选项,scatter
将假定第 3 个是 s
(大小)。在您的情况下,您希望 r
成为点的颜色,因此您需要告诉它(即使用 kwarg 选项 c
):
sc=map.scatter(xx, yy, c=r, s=30, cmap=plt.cm.jet)
如 answer you linked 中所述,通过不命名第 3 个参数,然后将第 4 个参数设置为 s
,您已指定 s
两次,第一次是隐式 (虽然你不是故意的),第二次明确地。
另一种方法,如果您不想命名您的论点,请确保您的论点顺序与 scatter
期望的顺序相同:
sc=map.scatter(xx, yy, 30, r, cmap=plt.cm.jet)
从docs可以看出预期的顺序:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)
我想绘制一系列散点 xx、yy,r 是点值。我想为 r 值创建颜色条。类似于2-D coordination plot,只是在本例中改变底图。
sc=map.scatter(xx,yy,r,s=30,cmap=plt.cm.jet)
plt.colorbar(sc)
但提示:
TypeError: scatter() got multiple values for argument 's'
This answer 解释说 scatter
中的第 3 个参数是 size
隐含的?
那么,它有什么问题呢?以及如何 m.scatter 点与颜色条?
如果您不标记选项,scatter
将假定第 3 个是 s
(大小)。在您的情况下,您希望 r
成为点的颜色,因此您需要告诉它(即使用 kwarg 选项 c
):
sc=map.scatter(xx, yy, c=r, s=30, cmap=plt.cm.jet)
如 answer you linked 中所述,通过不命名第 3 个参数,然后将第 4 个参数设置为 s
,您已指定 s
两次,第一次是隐式 (虽然你不是故意的),第二次明确地。
另一种方法,如果您不想命名您的论点,请确保您的论点顺序与 scatter
期望的顺序相同:
sc=map.scatter(xx, yy, 30, r, cmap=plt.cm.jet)
从docs可以看出预期的顺序:
matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, hold=None, data=None, **kwargs)