使用来自a-for循环的数据在python中创建折线图

时间:2015-03-05 10:52:30

标签: python graph matplotlib plot

我有一些以前会打印出来的代码

' 1月的数字是x' - 等等,一年。

我试图用这个来绘制x与月份的对比:

import matplotlib.pyplot as plt
for m, n in result.items():
    print 'The number for', m, "is", n
    plt.plot([n])
    plt.ylabel('Number')
    plt.xlabel('Time (Months)')
    plt.title('Number per month')
    plt.show()

其中m是月份(也是从中读取的文件名,n是x值(数字)。

然而,当我运行这个时,我只得到一张空白的图表 - 我想我可能会错过一些主要的东西?

结果包含:

{'apr': 13, 'jun': 13, 'jul': 13, 'aug': 13, 'sep': 13, 'oct': 13} x 6 times 

出于实际目的,我使每个文件都有13个,因为真实文件是巨大的

1 个答案:

答案 0 :(得分:1)

import matplotlib.pyplot as plt
import numpy as np 

result = {'apr': 13, 'jun': 13, 'jul': 13, 'aug': 13, 'sep': 13, 'oct': 13}
for m, n in result.items():
    print 'The number for', m, "is", n
plt.plot(result.values())
plt.ylabel('Number')
plt.xlabel('Time (Months)')
plt.title('Number per month')
plt.xticks(range(len(result)), result.keys())
plt.show()

所以我在这里做的就是删除for循环之外的绘图部分。现在,您将按照以前的方式打印结果,但将对所有值进行一次绘图。

您可以使用dict.values从字典中删除值,在我们的示例中为我们提供了13的所有值。

enter image description here