升级matplotlib后,“ ValueError:RGBA值应在0-1范围内”

时间:2018-12-12 18:53:31

标签: python-3.x matplotlib

我已升级到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()

1 个答案:

答案 0 :(得分:2)

您的集群是字符串。在matplotlib 2.1之前,数组被巧合地转换为数字,以便代码可以运行。在matplotlib 2.1中,您需要提供数字以便如此解释。例如

clusters = test['cluster'].astype(int)