我已升级到matplotlib 3.0.2,下面用于3d绘图的脚本现在引发此错误:ValueError: RGBA values should be within 0-1 range
。已通过2.0.2版进行测试,并且可以在其中运行...尝试过向Google搜索类似问题,但找不到解决方法,因此请向此智能社区寻求帮助...
test = pd.DataFrame({'cluster': ["0", "1", "2"],
'x': [2, 3, 1],
'y': [10, 5, -2],
'z': [-10, -5, 2]})
fig = plt.figure(figsize=(7,7))
ax = Axes3D(fig)
x=test['x']
y=test['y']
z=test['z']
clusters = test['cluster']
ax.scatter(x, y, z, c=clusters, marker='x', cmap='tab20b', depthshade=False)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
答案 0 :(得分:2)
您的集群是字符串。在matplotlib 2.1之前,数组被巧合地转换为数字,以便代码可以运行。在matplotlib 2.1中,您需要提供数字以便如此解释。例如
clusters = test['cluster'].astype(int)