matplotlib中的分组行

2024-04-20 06:30:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我收集了多个数据集,我想在同一个图表上可视化。每一组由多行组成,我想以相同的颜色显示。在

问题:

  • 如何让图例只显示每种颜色的一个条目?在
  • 我可以一次显示/隐藏一个组吗?在
  • 另外,我希望能够显示/隐藏单个曲线
  • 我是正确的,还是应该使用不同的技术?也许是叠加的子图?在

相关岗位:

  • This Post的最终目标与我正在尝试的目标相似,但从未得到答复。

  • This Post讨论了如何使用句柄来回答图例问题,但我认为它不适用于处理任意数量的数据集,因此句柄不能用于显示/隐藏,因为它们只访问最后一个放入的元素

    import matplotlib.pyplot as plt
    import numpy as np
    
    labels=['set a','set b','set c']
    V=np.arange(.1,10,.1)
    datasets=[]
    for i in range(3):
        set=[]
        for j in range(10):
            sweep=np.exp(i*V)+np.random.rand()
            set.append(sweep)
        datasets.append(set)
    
    
    
    colors=iter(plt.cm.rainbow(np.linspace(0,1,len(datasets))))
    for i,set in enumerate(datasets):
        c=next(colors)
        for j,sweep in enumerate(set):
            plt.plot(V,sweep,c=c,label=labels[i]+str(j))
    
    plt.xscale('log')
    plt.yscale('log')
    plt.legend()
    plt.show()
    

谢谢你的帮助!在


Tags: 数据inimportfor颜色asnpplt
1条回答
网友
1楼 · 发布于 2024-04-20 06:30:33

这不会一次回答显示和隐藏全部组,但我已经用两个图例回答了所有其他问题。您可以创建一个包含所有条目的interactive legend,然后只使用所需的条目创建一个second legend。然后我做我想做的一切,并拖动交互式图例出绘图区,并将其裁剪。在

相关问题 更多 >