Python 使用matplotlib.pyplot在多个字典值上打印
我一直试图将列表中存储的值绘制为dict值,但我被卡住了。下面是字典结构的一个示例,我的代码用于迭代骰子键和值:Python 使用matplotlib.pyplot在多个字典值上打印,python,python-2.7,matplotlib,Python,Python 2.7,Matplotlib,我一直试图将列表中存储的值绘制为dict值,但我被卡住了。下面是字典结构的一个示例,我的代码用于迭代骰子键和值: import matplotlib.pyplot as plt mydict = { "A": [1.0, 0.75, 0.0, 0.25, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.5], "B": [1.0, 0.0, 0.0, 0.0, 0.5, 0.6666666666666666, 0.0], "C": [0.6666666666666666, 0.
import matplotlib.pyplot as plt
mydict = {
"A":
[1.0, 0.75, 0.0, 0.25, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.5],
"B":
[1.0, 0.0, 0.0, 0.0, 0.5, 0.6666666666666666, 0.0],
"C":
[0.6666666666666666, 0.3333333333333333, 0.75, 0.25, 0.0, -1, 0.5, 0.75, 0.0, 0.0, 0.0],
"D":
[0.0, 0.0, 0.0, 0.2]}
for k, v in mydict.iteritems():
plt.title('Some data for unit: ' + k)
plt.xlabel('Number of data points')
plt.ylabel('Some unit')
plt.figure(k)
xs = range(0, len(v))
ys = v
plt.plot(xs, ys, '-.')
plt.show
我是一个相对的初学者,我可能错过了一些基本和基本的东西,但以下情况总是发生:第一个情节出来时没有单元a的标题,最后一个没有标题或标签。所以我猜它模拟了A单元的一个空图,在第二个图中绘制了A单元的数据,在第三个图中绘制了B单元的数据,依此类推,直到第五个图,这是我没想到的,因为我的dict只有四个键值对
我错过了什么?我试了好几个小时,就是想不出解决办法
非常感谢 您可以通过提供标题来创建新的绘图。然后调用
plt.figure(k)
,创建另一个新的绘图。这是当前回路数据将在其中绘制的绘图。在下一个循环中,您将为该绘图指定一个新标题。这就是为什么一切似乎都改变了
将plt.图(k)
移动到循环的顶部。如果您不关心图形的编号,也可以调用plt.figure()
,在大多数情况下,您不关心图形的编号
另外,
plt.show
仅引用函数,但您需要调用它:plt.show()
您想在给它一个标题之前创建一个图plt.figure()
。然后,您需要决定是一次显示所有图形(plt.show()
在循环外部),还是逐个显示(在循环内部)。但是,一定要真正调用plt.show()
——注意()
非常感谢。正如我所说,我缺少一些基本要素。我一定不会再犯那个错误了。
for k, v in mydict.iteritems():
plt.figure(k)
plt.title('Some data for unit: ' + k)
plt.xlabel('Number of data points')
plt.ylabel('Some unit')
xs = range(0, len(v))
ys = v
plt.plot(xs, ys, '-.')
plt.show()