編集:何が起こっているのか把握することができました。 Scatterには、散布図のプロット点を囲む線の太さを決定するパラメータ 'line-width'(lw = n)があります。私のプロットポイントはサイズ1(s = 1)なので、線幅は実際にはプロットポイントの色を覆っていたほど厚かった。線幅を0(lw = 0)の太さに設定すると、そのトリックを行う必要があります。matplotlibの3D散布図のデータポイントを色付けする方法
データポイントの3次元散布図を生成し、それらのy座標の値に基づいて色付けしたいと思いますが、ポイントを実際に色付けすることはできません。
データポイントの値が低い場合は、カラースペクトラムの青い端に近い色にする必要があります。値がより大きい場合、色はスペクトルの赤色端に近くなるはずです。
私は2Dでプロットすることができましたが、3Dでプロセスを複製することに問題があります。現在のコードは点を黒だけでプロットします。
ここでは3Dの試行のためのコードと、2Dでの希望の結果のスクリーンショットを示します。私はここで間違って何をしているのですか?
x_points、y_points、およびz_pointsは浮動小数点値のリストです。
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
def three_dimensional_scatterplot(
self, x_points, y_points, z_points, data_file
):
cm1 = cm.get_cmap('gist_rainbow')
fig = plt1.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(
x_points,
y_points,
z_points,
s=1,
c=y_points,
cmap=cm1
)
ax.set_xlabel('X axis')
plt1.show()
ガッチャは、私はサイズがここで決定する要因であったと思います。どうもありがとうございました。 – gsamerica