我正在绘制一个散点图,其中我指定了每个点的颜色:
ax.scatter(x, y, c=z)
问题是z
的某些值为-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
值的分数。
答案 0 :(得分:1)
我认为在无穷远处过度绘制点是最容易的:
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')
但所有代码都未经过测试。