質問

以下のコマンドを使用して、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に設定しても、ドットの色はとても軽く見えます。それらはマスクの後ろにいるように見えます。また、個々のソットの3D位置にも依存しているようです。すべてのドットを本当に暗くて不透明に見せる方法はありますか?

役に立ちましたか?

解決

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

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

ax.plot3D(x, y, z, 'k.', alpha=.8)

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top