我正在尝试使用网格输入数据设置散点图的颜色。 我使用的代码如下:
xmesh = np.linspace(-5, 5, 30)
ymesh = np.linspace(-5, 5, 30)
xv, yv = np.meshgrid(xmesh, ymesh)
zv = a*xv+b*yv+c #a,b,c are some scalar constants
col = np.where(zv<0.5,'b','r')
plt.scatter(xv,yv,c=col)
plt.show()
执行此代码将返回以下错误:
^{pr2}$如果将颜色贴图更改为浮点值:
col = np.where(zv<0.5,0.1,0.2)
这没有任何问题。知道为什么吗?在
在查看引发错误的代码部分时,我看到以下备注:
# tuple color.
# Python 2.7 / numpy 1.6 apparently require this to return builtin floats,
# not numpy floats.
try:
c = tuple(map(float, c))
也许有一些东西需要去理解才能找到解决办法,但我却没能找到
从^{} documentation
所以给
c
的数组必须是一个一维数组,或者是一个包含RGB或RGBA值的2D数组。它不能是任意二维数组。在所以你需要把你的阵型变平
相关问题 更多 >
编程相关推荐