为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据文件夹名称命名图例中的图形

如何根据文件夹名称命名图例中的图形

守着星空守着你 2022-12-20 15:07:08
我已经为目录内的不同子文件夹绘制了一个图表,我想根据文件夹的名称为每个图表添加一个图例。我的意思是,情节图例是根据文件夹的名称编写的。绘图代码如下: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)

将产生以下两个图表:

//img1.sycdn.imooc.com//63a15f3a0001cbb603680242.jpg

//img1.sycdn.imooc.com//63a15f430001491103710246.jpg

如您所见,唯一不同的是图例,它是由legend1列表设置的。你可以把它作为你的目录。



查看完整回答
反对 回复 2022-12-20
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信