首页 > 软件开发 > PYTHON >

python如何在matplotlib中绘制图例legend

来源:互联网 2023-03-16 19:29:23 410

matplotlib 是Python的可视化包与工具,可视化必然涉及到图例这一块,图例的英文乘法:legend, 用于区分不同的形状:9MQ办公区 - 实用经验教程分享!

python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

工具/原料

  • Anaconda3.exe

方法/步骤

  • 1

    首先导入使用到的包,matplotlib.pyplot, numpy:9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 2

    接着设置图的大小,添加子图,figsize用于设置图的大小:9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 3

    再接着,我们使用numpy创建正弦,余弦曲线的点集合,并调用plot方法绘制:9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 4

    然后,我们只需要一行代码,plt.legend(loc='位置'), 把图例加上了:9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 5

    但是,我们可能满足于这种显示方式,我想要把图例单独单个显示,拆分出来,这里重要的代码就是,获取到legend ,调用add_artist方法,不然会被覆盖掉,到此,legend图例的操作完成了。9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 6

    一个好看的图例:9MQ办公区 - 实用经验教程分享!

    python如何在matplotlib中绘制图例legend?9MQ办公区 - 实用经验教程分享!

  • 6本页面未经授权抓取自百度经验
  • 源码

    • # 导入matplotlib.pyplot, numpy 包9MQ办公区 - 实用经验教程分享!

      import numpy as np9MQ办公区 - 实用经验教程分享!

      import matplotlib.pyplot as plt9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      # 添加主题样式9MQ办公区 - 实用经验教程分享!

      plt.style.use('mystyle')9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      # 设置图的大小,添加子图9MQ办公区 - 实用经验教程分享!

      fig = plt.figure(figsize=(5,5))9MQ办公区 - 实用经验教程分享!

      ax = fig.add_subplot(111)9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      #绘制sin, cos9MQ办公区 - 实用经验教程分享!

      x = np.arange(-np.pi, np.pi, np.pi / 100)9MQ办公区 - 实用经验教程分享!

      y1 = np.sin(x)9MQ办公区 - 实用经验教程分享!

      y2 = np.cos(x)9MQ办公区 - 实用经验教程分享!

      sin, = ax.plot(x, y1, color='red', label='sin')9MQ办公区 - 实用经验教程分享!

      cos, = ax.plot(x, y2, color='blue', label='cos')9MQ办公区 - 实用经验教程分享!

      ax.set_ylim([-1.2, 1.2])9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      # 第二种方式 拆分显示9MQ办公区 - 实用经验教程分享!

      sin_legend = ax.legend(handles=[sin], loc='upper right')9MQ办公区 - 实用经验教程分享!

      ax.add_artist(sin_legend)9MQ办公区 - 实用经验教程分享!

      ax.legend(handles=[cos], loc='lower right')9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      plt.show()9MQ办公区 - 实用经验教程分享!

    • import numpy as np9MQ办公区 - 实用经验教程分享!

      import matplotlib.pyplot as plt9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      # 添加主题样式9MQ办公区 - 实用经验教程分享!

      plt.style.use('mystyle')9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      # 设置图的大小,添加子图9MQ办公区 - 实用经验教程分享!

      fig = plt.figure(figsize=(5,5))9MQ办公区 - 实用经验教程分享!

      ax = fig.add_subplot(111)9MQ办公区 - 实用经验教程分享!

      9MQ办公区 - 实用经验教程分享!

      for color in ['red', 'green']:9MQ办公区 - 实用经验教程分享!

      n = 7509MQ办公区 - 实用经验教程分享!

      x, y = np.random.rand(2, n)9MQ办公区 - 实用经验教程分享!

      scale = 200.0 * np.random.rand(n)9MQ办公区 - 实用经验教程分享!

      ax.scatter(x, y, c=color, s=scale,9MQ办公区 - 实用经验教程分享!

      label=color, alpha=0.3,9MQ办公区 - 实用经验教程分享!

      edgecolors='none')9MQ办公区 - 实用经验教程分享!

      ax.legend()9MQ办公区 - 实用经验教程分享!

      ax.grid(True)9MQ办公区 - 实用经验教程分享!

      plt.show()9MQ办公区 - 实用经验教程分享!

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!9MQ办公区 - 实用经验教程分享!


    标签: python

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码