1

以下のコマンドを使用して、3D 散布図を作成しました。

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt

sizeseq = 2
colorseq = "k"

fig = plt.figure(1, (5,5), dpi=300)
ax = Axes3D(fig)
ax.view_init(20, -45)

x, y, z = [1,2,3,4,5,6,7,8,9,10], [1,2,3,4,5,6,7,8,9,10], [1,2,3,4,5,6,7,8,9,10]
ax.scatter(x, y, z, c=colorseq, s=sizeseq, lw=0, alpha=.8)

plt.show()

しかし、アルファを 1 に設定しても、ドットの色は非常に薄く見えます。ほとんどマスクの背後にあるように見えます。また、個々の SOT の 3D 位置にも依存しているようです。すべてのドットを非常に暗く不透明に見せる方法はありますか?

4

2 に答える 2

3

これは派手な 3D 効果を使用して散乱しているように見えるため、前景のドットと背景のドットを区別できます。それをやめるには、mplot3d をハックする必要があるかもしれません。

または、この動作を示さない plot3D を使用できる場合があります。

ax.plot3D(x, y, z, 'k.', alpha=.8)
于 2011-12-06T15:44:15.550 に答える
2

alpha=0.8 のドットはすでに非常に透明に見えます。アルファを使用しないでください。
さらに、エッジラインをそれぞれのフェイスカラーよりも暗い色で描画することにより、ドットをより暗い外観にすることができます。
scatter キーワード パラメータを使用するか、edgecolorまたはedgecolorsscatter の作成後に設定します (たとえば、すべてのポイントを黒い境界線で太字にするなど)。myscatterplot.set_edgecolors(color)

于 2011-12-06T15:18:14.933 に答える