我有一些以前会打印出来的代码
' 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个,因为真实文件是巨大的
答案 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
的所有值。