1
編輯:我設法弄清楚發生了什麼。散點有一個參數「線寬」(lw = n),用於確定散點圖的繪圖點周圍線條的粗細。因爲我的繪圖點大小爲1(s = 1),所以線寬太厚,實際上覆蓋了繪圖點的顏色。將線寬設置爲0(lw = 0)應該可以做到。如何在Matplotlib中的3D散點圖上着色數據點
我想生成一個數據點的三維散點圖,根據它們的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