【发布时间】:2021-08-02 20:57:02
【问题描述】:
到目前为止,这是我的代码 - 我想要实现的目标:
我有 3 个 .csv 文件(即副本),每个文件有两列:时间(X 轴)和势能(Y 轴) 由于它们具有相似的路径,因此我通过 filename = 读取它们,每个副本都使用 %s 并想在其中一个子图中绘制每个图,以便我可以保存一个包含所有三个图的单个图。
我的输出给了我所有三个子图中的所有三个副本,或者每个子图中只有第三个。我无法将每个 .csv 文件分配给 for 循环中的单独子图。
感谢您的帮助
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
replicas = ['1', '2', '3']
fig, axs = plt.subplots(nrows=3, ncols=1,sharex=True, sharey=True, figsize=(10,7))
for i in range(3):
for replica in replicas:
filename = "elliottIV_HA_IHSS/box4x4x4/bbs60/bbpm2/NA/pH7.0/r%s/analysis/ene_ana/eq/totpot.dat" % replica
data=pd.read_csv(filename, engine='python', delimiter="\s+", names=["time", "totpot"], usecols=[0, 1], comment="#")
data.plot(x='time', y='totpot', ax=axs[i], legend=False)
axs[i].set_title("60bbs: eq - rep{}".format(replica))
plt.tight_layout()
【问题讨论】:
标签: python pandas csv matplotlib subplot