0

各点の色を指定する散布図を描いています。

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しかし、値のポイントはまだ表示されていません。

4

1 に答える 1

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')

ただし、すべてのコードはテストされていません。

于 2012-12-03T12:24:27.697 に答える