Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python绘制两个词典_Python_Matplotlib_Plot - Fatal编程技术网

用Python绘制两个词典

用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()会创

我有个问题。我试图在一个图中绘制两个字典(键数相同,但值不同)。其思想是制作一个包含两条线的线图;两本词典都有。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())
,绘图中显示的值不会随之改变。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检查我的新答案。添加
列表
围绕键和值