前提・実現したいこと
フォルダ内にある複数のcsvファイルがあり、
csv1つき、3つグラフがかける。
csvをトリミングして
グラフを3つ書いて画像保存する
これをcsvファイルの数だけループさせて効率よくグラフ画像を作りたい
発生している問題・エラーメッセージ
csvファイル1つにつき3つグラフがかけるが、
それを繰り返す方法がわからない
#該当のソースコード
python
ソースコード
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
import glob
csv_lists = os.listdir('/home/aiuser/Desktop/s/a')
csv_files = pd.read_csv(glob.glob('/home/aiuser/Desktop/s/a/*.csv')[0],engine='python',encoding = 'shift_jis')
csvfile=csv_files.drop([0,1,2,3,4,5])#行トリミング
csvfiles=csvfile.drop(['[2]','[3]','[4]','[7]','[8]','[9]','[10]','[11]','[12]','[13]','[14]','[15]','[16]','[17]','[18]','[19]','[20]','[21]'],axis=1)
df = csvfiles.rename(columns={'Unnamed: 0':'t','[1]':'u','[5]':'v','[6]':'w'})
df=df.astype(float)
path = csv_lists
csv_lists
plt.rcParams["font.size"] = 50
plt.tight_layout()
fig, axes = plt.subplots(figsize=(50,20))
axes.legend(df,bbox_to_anchor=(0, 1.3), loc='upper center')
fig.subplots_adjust(wspace=0.4, hspace=0.5)
axes.set_title('u')
axes.grid()
axes.set_xlabel(headers[0],fontsize=50)
axes.set_ylabel(headers[1] ,fontsize=50)
axes.plot(df[headers[0]], df[headers[1]], label=df)
plt.grid(False)
plt.savefig(csv_lists[0]+"1"+".png")lt.rcParams["font.size"] = 50
plt.tight_layout()
fig, axes = plt.subplots(figsize=(50,20))
axes.legend(df,bbox_to_anchor=(0, 1.3), loc='upper center')
fig.subplots_adjust(wspace=0.4, hspace=0.5)
axes.set_title('v')
axes.set_xlabel(headers[0],fontsize=50)
axes.set_ylabel(headers[2] ,fontsize=50)
axes.plot(df[headers[0]], df[headers[2]], label=df)
plt.savefig(csv_lists[0]+"2"+".png")
plt.rcParams["font.size"] = 50
plt.tight_layout()
fig, axes = plt.subplots(figsize=(50,20))
axes.legend(df,bbox_to_anchor=(0, 1.3), loc='upper center')
fig.subplots_adjust(wspace=0.4, hspace=0.5)
axes.set_title('w')
axes.grid()
axes.set_xlabel(headers[0],fontsize=50)
axes.set_ylabel(headers[3] ,fontsize=50)
axes.plot(df[headers[0]], df[headers[3]], label=df)
plt.grid(False)
plt.savefig(csv_lists[0]+"3"+".png")
#保存
試したこと
for文の使い方がイマイチわからずハマっています。
補足情報(FW/ツールのバージョンなど)
本当に初心者なので、無駄なことを多くしている夜思いますが、ご容赦ください。
あなたの回答
tips
プレビュー