使用numpy掩码数组绘制Python散点图
我在制作散点图的时候遇到了麻烦,想要隐藏一些数据,但所有的数据都被显示出来了。
我在使用numpy数组,下面的代码片段就是我的代码。我在想,也许我不能对“c”这个数组进行隐藏。我找不到相关的文档来说明怎么做。我打算试试对“s”这个数组进行操作。
非常感谢任何帮助。
yy = NP.ma.array(yy)
xx = NP.ma.array(xx)
zz_masked = NP.ma.masked_where(zz <= 1.0e6 , zz)
scatter(xx,yy,s=15,c=zz_masked, edgecolors='none')
cbar = colorbar()
show()
1 个回答
1
对我来说是有效的。每次调用scatter()函数时,都会生成一个自己的颜色条,因为每个scatter()的颜色都是根据它自己的数据进行标准化的。你使用的是哪个版本的matplotlib呢?
import pylab as plt
import numpy as np
x = np.linspace(0, 1, 100)
y = x**2
z = y
z_masked = np.ma.masked_where(z > 0.5, z)
plt.scatter(x, y, c=z, s=15, edgecolors='none')
plt.colorbar()
plt.scatter(x+1, y, c=z_masked, s=15, edgecolors='none')
plt.colorbar()
plt.show()