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