Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.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 使用matplotlib.pyplot在多个字典值上打印_Python_Python 2.7_Matplotlib - Fatal编程技术网

Python 使用matplotlib.pyplot在多个字典值上打印

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.

我一直试图将列表中存储的值绘制为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.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()