【问题标题】:python dictionary plot matplotlibpython字典绘图matplotlib
【发布时间】:2017-04-15 21:14:02
【问题描述】:

我有我的字典

lr = {'0': 0.1354364, '1': 0.134567, '2': 0.100000} 

等等。

我尝试绘制一个简单的折线图,以key(0,1,2) 作为 x 轴,将值 (0.1354364,0.134567,0.100000) 作为 y 值

plt.plot(lr.keys(),lr.values())
plt.title('ID model model accuracy')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['train', 'test'], loc='upper left')
plt.savefig('ID modelo: model accuracy.png')
plt.clf()

我得到了这个错误。

TypeError: float() 参数必须是字符串或数字,而不是 'dict_keys'

【问题讨论】:

    标签: python-3.x dictionary matplotlib


    【解决方案1】:

    这是因为dict对象的keys()方法返回了一个pyplot不支持的dict_keys对象。

    我会将dict_keys 对象转换为list 来完成这项工作:

    plt.plot(list(lr.keys()),list(lr.values()))
    

    正如@nikjohn 提到的:

    需要说明的是,这只对 Python 3 是必需的 环境。 Python 2.7 和最新的 matplotlib 版本是 问题中发布的代码完全可以。

    【讨论】:

    • @LucG - 应该提到的是,这只在 Python 3 环境中是必需的。 Python 2.7 和最新的matplotlib 版本与问题中发布的代码完全一致。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多