-4
我想绘制字母表中每个字母的图形(测试仅为2)。我从plot_letter函数返回的数据是('LETTER',[年数范围],[数据值每年一个])。最后我的for循环调用函数,检索数据并为每个创建单独的图。我会如何将所有图表放在一个图上?在单个绘图上绘制多个图形
import csv
import matplotlib.pyplot as plt
start = 1880
stop = 1999
years = range(start, stop+1)
alphabet=['A','C']#,'D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
def plot_letter(i):
year_values = []
for year in years:
filename = 'yob' + str(year) + '.txt'
z = open(filename)
c = 0
d = 0
for line in z:
y = line.strip().split(',')
y.remove(y[1])
c += int(y[1])
if i in y[0]:
d += int(y[1])
year_values.append(float(d)/float(c))
return i,years, year_values
for i in alphabet:
data = zip(plot_letter(i)[1], plot_letter(i)[2])
x_val = [x[0] for x in data]
y_val = [x[1] for x in data]
plt.plot(x_val, y_val)
plt.show()
你想多次要情节或在同一轴上所有的情节? – M4rtini
无论采用哪种方式,都可以在[在一起绘制多组数据]和[子绘图]下找到两种解决方案[此处](http://nbviewer.ipython.org/github/swcarpentry/notebooks/blob/master/matplotlib.ipynb) – M4rtini
我看过ipython,但我的问题依然存在。 for循环只允许我一次创建一个情节。我想在同一个图上制作多个图,而不是子图 – cubedNnoobed