我正在绘制一个散点图,在其中我指定每个点的颜色:
ax.scatter(x, y, c=z)
问题是z
are的某些值-inf
,而这些点根本没有绘制出来。我想将它们设置为某种颜色。我试过这个:
cm = mpl.cm.get_cmap()
cm.set_under('k',1.0)
cm.set_bad('purple',1.0)
ax.scatter(x, y, c=z, cmap=cm)
但仍然没有显示-inf
值的点。
我正在绘制一个散点图,在其中我指定每个点的颜色:
ax.scatter(x, y, c=z)
问题是z
are的某些值-inf
,而这些点根本没有绘制出来。我想将它们设置为某种颜色。我试过这个:
cm = mpl.cm.get_cmap()
cm.set_under('k',1.0)
cm.set_bad('purple',1.0)
ax.scatter(x, y, c=z, cmap=cm)
但仍然没有显示-inf
值的点。
我认为最容易在无穷远处过度绘制点:
cm = mpl.cm.get_cmap()
cm.set_under('k',1.0)
cm.set_bad('purple',1.0)
ax.scatter(x, y, c=z)
ax.scatter(x[numpy.isinf(z)], y[numpy.isinf(z)], c='b')
如果您想排除正无穷大,这似乎可行:
cm = mpl.cm.get_cmap()
cm.set_under('k',1.0)
cm.set_bad('purple',1.0)
ax.scatter(x, y, c=z)
indices = numpy.isinf(z) & (z < 0)
ax.scatter(x[indices], y[indices], c='b')
所有代码都未经测试。