Python 为for循环中的绘图提供不同的标题
此脚本生成8个绘图并保存它们。我想给所有的情节不同的标题。它是否可能读取Python 为for循环中的绘图提供不同的标题,python,matplotlib,Python,Matplotlib,此脚本生成8个绘图并保存它们。我想给所有的情节不同的标题。它是否可能读取.txt或Excel文件(.xls),并直接从中获取每个绘图的标题?例如我有这样的标题(可以保存为.txt或.xls文件): 我该怎么做?'8phases.txt'有以下8行: phase_01_water phase_02_membrane phase_03_water phase_04_empty phase_05_water phase_06_water phase_07_full phase_08_water 如果
.txt
或Excel文件(.xls
),并直接从中获取每个绘图的标题?例如我有这样的标题(可以保存为.txt
或.xls
文件):
我该怎么做?'8phases.txt'
有以下8行:
phase_01_water
phase_02_membrane
phase_03_water
phase_04_empty
phase_05_water
phase_06_water
phase_07_full
phase_08_water
如果标题像示例中那样位于一个简单的txt文件中,那么您可以简单地使用如下内容加载它们
-1 1 -1
-1 1 1
1 1 1
1 -1 1
-1 -1 -1
1 1 -1
1 -1 -1
-1 -1 1
然后matplotlib.Axes
有一个方法set\u title
。我还以更面向对象的方式重写了for循环
with open('titles_file.txt') as f:
titlelist = f.readlines()
您好,在您的回答中,is titlelist应该是包含所有标题的.txt文件。我是这样做的,但它说“标题列表”的名称没有定义。我知道
标题列表没有定义。我假设您可以读取该文件并将其内容存储在python列表中。我已经编辑了答案谢谢。事实上,我现在就处理好了。我一开始没有看文件,这是我的愚蠢。
with open('titles_file.txt') as f:
titlelist = f.readlines()
for count,i in enumerate(I_phase):
F = sum(m*np.cos(2*np.pi*l*x/D) for m,l in zip(i,n))
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title(titlelist[count])
ax.plot(x,F)
fig.savefig(str(count)+'.png')