Python 如何根据文件夹命名图例中的图形';姓名

Python 如何根据文件夹命名图例中的图形';姓名,python,numpy,matplotlib,Python,Numpy,Matplotlib,我在一个目录中为不同的子文件夹绘制了一个图表,我想根据文件夹的名称为每个图表添加一个图例。我的意思是,情节图例是根据文件夹的名称编写的。绘图代码如下所示: from __future__ import division import sys import os import numpy as np import matplotlib.pyplot as plt import glob import seaborn as sns from scipy import stats from scipy

我在一个目录中为不同的子文件夹绘制了一个图表,我想根据文件夹的名称为每个图表添加一个图例。我的意思是,情节图例是根据文件夹的名称编写的。绘图代码如下所示:

from __future__ import division
import sys
import os
import numpy as np
import matplotlib.pyplot as plt
import glob
import seaborn as sns
from scipy import stats
from scipy.stats.kde import gaussian_kde


root = 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)



据我所知,您有不同的图表,对于每个图表,您希望根据当前文件夹使用不同的图例。您可以通过在绘图方法中添加
label=directory
来设置图例。若你们不想要完整的目录,也许你们应该首先提取当前文件夹(使用拆分或其他方法)。这取决于目录变量

考虑以下示例:

导入matplotlib.pyplot作为plt
作为pd进口熊猫
legend1=[“1”,“2”]
df=pd.DataFrame({“A”:[4,5],“B”:[6,7]})
对于legend1中的项目:
图,ax=plt.子批次()
轴图(df[“A”]、df[“B”]、标签=项目)
ax.图例(loc='左上角',frameon=False)
将生成以下两个图表:


正如您所看到的,唯一不同的是图例,它是由
legend1
list设置的。您可以将其设置为您的目录。

据我所知,您有不同的图表,并且每个图表都需要基于当前文件夹的不同图例。您可以通过在绘图方法中添加
label=directory
来设置图例。若你们不想要完整的目录,也许你们应该首先提取当前文件夹(使用拆分或其他方法)。这取决于目录变量

考虑以下示例:

导入matplotlib.pyplot作为plt
作为pd进口熊猫
legend1=[“1”,“2”]
df=pd.DataFrame({“A”:[4,5],“B”:[6,7]})
对于legend1中的项目:
图,ax=plt.子批次()
轴图(df[“A”]、df[“B”]、标签=项目)
ax.图例(loc='左上角',frameon=False)
将生成以下两个图表:

正如您所看到的,唯一不同的是图例,它是由
legend1
list设置的。您可以将其设置为您的目录。

plt.plot(Time,pdf,label=directory)
plt.plot(Time,pdf,label=directory)