用Python绘制两个词典
我有个问题。我试图在一个图中绘制两个字典(键数相同,但值不同)。其思想是制作一个包含两条线的线图;两本词典都有。x轴将是字典键,y轴将是两个DICT中的值。我设法用计算机绘图用Python绘制两个词典,python,matplotlib,plot,Python,Matplotlib,Plot,我有个问题。我试图在一个图中绘制两个字典(键数相同,但值不同)。其思想是制作一个包含两条线的线图;两本词典都有。x轴将是字典键,y轴将是两个DICT中的值。我设法用计算机绘图 plt.plot(范围(len(dict1)),dict1.values()) plt.plot(范围(len(dict2)),dict2.values()) 当我运行绘图时,它确实显示了两行。但是x轴记号(dict中的键(一个或另一个)没有排序,而我打印字典时它们是排序的。我知道这是因为获取dict.values()会创
plt.plot(范围(len(dict1)),dict1.values())
plt.plot(范围(len(dict2)),dict2.values())
当我运行绘图时,它确实显示了两行。但是x轴记号(dict中的键(一个或另一个)没有排序,而我打印字典时它们是排序的。我知道这是因为获取dict.values()会创建一个未排序的列表。但是当我将绘图数据改为此时:
plt.plot(范围(len(dict1)),排序(dict1.values())
,绘图中显示的值不会随之改变。XTICK最终被排序,但折线图不再与正确的值匹配。如何绕过此问题?字典是无序的,因此当您调用键
或值
甚至对其进行排序时,它们不一定按任何顺序排列。然而,当您调用键
和值
在一起,如果未修改字典,则这两个函数返回的列表将包含相同索引中的“键:值”对。如果字典中的键是数字,则可以执行以下操作:
plt.plot(list(dict1.keys()), list(dict1.values()))
这会将键和值转换为列表,因此您可以将它们用作x和y值。您需要按键而不是值对值进行排序。我早上绘制两个
dict
s,晚上绘制两个dict
。[…]在每10000个点上,我绘制两个dict
s。它们是浮点数,包含日期类型。它不起作用,因为我字典中的键是浮点数。如果不是,它确实起作用:“ValueError:invalid literal for float()”你问过x轴将是字典键,y轴将是值。
。这不是你想要的,你想要什么?没错,但这样不行,因为dict键的类型不正确。将x轴单独设置为xticks目前只起作用。@J.Williams检查我的新答案。添加列表
围绕键和值