代码之家  ›  专栏  ›  技术社区  ›  aviss

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

  •  0
  • aviss  · 技术社区  · 6 年前

    我已经升级到matplotlib 3.0.2,下面的脚本用于我的三维绘图,现在引发了这个错误: ValueError: RGBA values should be within 0-1 range . 用2.0.2版本测试,它在那里工作…尝试用谷歌搜索类似问题,但找不到解决方法,所以向这个聪明的社区寻求帮助…

    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 回复  |  直到 6 年前
        1
  •  1
  •   ImportanceOfBeingErnest    6 年前

    你的集群是字符串。在matplotlib 2.1之前,数组被转换成数字,这样代码就可以运行了。从Matplotlib2.1中,您需要提供数字以便对其进行解释。例如。

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