【发布时间】:2017-01-25 12:33:11
【问题描述】:
我对 Python 比较陌生,所以我仍在学习细节。
我有一个包含 45 列数据的 CSV 文件,第一列是 x 轴,第 2-45 列都是 y 轴数据。我要做的是导入所有这些数据(逐行),然后为每个具有相同 x 的 y 轴列绘制一个图,因此 (x, y_1), (x, y_2) .... (x, y_45) 并将每个图分别保存为 1.png、2.png...45.png。
我可以使用以下代码逐行手动执行此操作:
#!/usr/bin/python
from pylab import *
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import lines
from matplotlib.font_manager import FontProperties
data = csv2rec('e.csv')
x = np.array([column[0] for column in data])
y_1 = np.array([column[1] for column in data])
plot( x, y_1, 'k-', label='1' )
lgd = legend(loc='center right', bbox_to_anchor=(1.25, 0.75), fontsize='xx-small')
#plt.gca().invert_yaxis()
plt.gca().get_xaxis().get_major_formatter().set_useOffset(False)
plt.gca().get_yaxis().get_major_formatter().set_useOffset(False)
plt.gca().set_xlabel(r'$\lambda$($\AA$)')
ylabel( 'FUV-MAG(AB)' )
savefig('1.png', bbox_extra_artists=(lgd,), bbox_inches='tight')
但是,这当然需要一段时间才能手动完成。我知道如何在一系列 x 和 y 列上进行基本循环来绘制它们,但我想知道你们中是否有人对如何创建一个循环来导入、绘制和保存上述所有图有任何建议同一时间。
非常感谢。
【问题讨论】:
标签: python-2.7 python-3.x