我已經為目錄內的不同子文件夾繪制了一個圖表,我想根據文件夾的名稱為每個圖表添加一個圖例。我的意思是,情節圖例是根據文件夾的名稱編寫的。繪圖代碼如下:from __future__ import divisionimport sysimport osimport numpy as npimport matplotlib.pyplot as pltimport globimport seaborn as snsfrom scipy import statsfrom scipy.stats.kde import gaussian_kderoot = r'C:\Users\Hasan\Desktop\output\new our scenario\beta 15\test'mean_cu=[]my_list = os.listdir(root)my_list = [file for file in my_list if os.path.isdir(os.path.join(root, file))]for directory in my_list: CASES = [file for file in os.listdir(os.path.join(root, directory)) if file.startswith('config')] if len(CASES)==0: continue maxnum = np.max([int(os.path.splitext(f)[0].split('_')[1]) for f in CASES]) CASES = ['configuration_%d.out' % i for i in range(maxnum)] mean_cu=[] for i, d in enumerate(CASES): a = np.loadtxt(os.path.join(root, directory,d)).T num = os.path.splitext(d)[0] local_cu = np.abs(a[4]) mean_curv.append(np.mean(local_cu)) pdf = stats.norm.pdf(mean_cu) Time = np.arange(0,len(pdf)) plt.plot(Time,pdf)
1 回答

倚天杖
TA貢獻1828條經驗 獲得超3個贊
據我了解,您有不同的圖表,對于每個圖表,您都需要基于當前文件夾的不同圖例。label=directory您可以通過添加plot 方法來設置圖例。如果您不想要完整目錄,也許您應該首先提取當前文件夾(使用拆分或不同的方法)。這取決于您的目錄變量。
考慮以下示例:
import matplotlib.pyplot as plt
import pandas as pd
legend1 = ["1", "2"]
df = pd.DataFrame({"A":[4,5], "B":[6,7]})
for item in legend1:
fig, ax = plt.subplots()
ax.plot(df["A"], df["B"], label=item)
ax.legend(loc='upper left', frameon=False)
將產生以下兩個圖表:
如您所見,唯一不同的是圖例,它是由legend1
列表設置的。你可以把它作為你的目錄。
添加回答
舉報
0/150
提交
取消