Matplotlib多子图使用一个图例的实现

 更新时间:2023年08月16日 10:04:05   作者:Threetiff  
多子图是Matplotlib中的一个功能,可以在同一图形中创建多个子图,本文主要介绍了Matplotlib多子图使用一个图例的实现,感兴趣的可以了解一下

1 所有子图的图例相同

利用函数 fig.axe.get_legend_handles_labels() 得到图的 line label

import matplotlib.pyplot as plt
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
for ax in fig.axes:
    ax.plot([0, 10], [0, 10], label='linear')
# 使用最后一个子图的图例
lines, labels = fig.axes[-1].get_legend_handles_labels()
fig.legend(lines, labels, loc = 'upper center') # 图例的位置,bbox_to_anchor=(0.5, 0.92),
plt.show()

2 所有的子图图例不同

import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 501)
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
axes[0, 0].plot(x,np.sin(x),color = 'k',label="sin(x)")
axes[0, 1].plot(x,np.cos(x),color = 'b',label="cos(x)")
axes[1, 0].plot(x,np.sin(x) + np.cos(x),color = 'r',label="sin(x)+cos(x)")
axes[1, 1].plot(x,np.sin(x) - np.cos(x),color = 'm',label="sin(x)-cos(x)")
lines = []
labels = []
# 利用循环得到每一个子图的图例
for ax in fig.axes:
    axLine, axLabel = ax.get_legend_handles_labels()
    lines.extend(axLine)
    labels.extend(axLabel)
fig.legend(lines, labels, loc = 'upper right')  # 图例的位置,bbox_to_anchor=(0.5, 0.92),
plt.show()

参考链接

Matplotlib 多个子图使用一个图例

到此这篇关于Matplotlib多子图使用一个图例的实现的文章就介绍到这了,更多相关Matplotlib多子图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java编程迭代地删除文件夹及其下的所有文件实例

    Java编程迭代地删除文件夹及其下的所有文件实例

    这篇文章主要介绍了Java编程迭代地删除文件夹及其下的所有文件实例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python文件操作模拟用户登陆代码实例

    Python文件操作模拟用户登陆代码实例

    这篇文章主要介绍了Python文件操作模拟用户登陆代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python爬虫基础之requestes模块

    Python爬虫基础之requestes模块

    这篇文章主要介绍了Python爬虫基础之requestes模块,文中有非常详细的代码示例,对正在学习python爬虫的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python线程创建和终止实例代码

    Python线程创建和终止实例代码

    这篇文章主要介绍了Python线程创建和终止实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Pycharm生成可执行文件.exe的实现方法

    Pycharm生成可执行文件.exe的实现方法

    这篇文章主要介绍了Pycharm生成可执行文件.exe的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • 把Anaconda中的环境导入到Pycharm里面的方法步骤

    把Anaconda中的环境导入到Pycharm里面的方法步骤

    这篇文章主要介绍了把Anaconda中的环境导入到Pycharm里面的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python实现识别图片为文字的示例代码

    Python实现识别图片为文字的示例代码

    这篇文章主要为大家详细介绍了Python如何不调用三方收费接口,照样实现识别图片为文字的功能。文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-08-08
  • 在TensorFlow中实现矩阵维度扩展

    在TensorFlow中实现矩阵维度扩展

    这篇文章主要介绍了在TensorFlow中实现矩阵维度扩展方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Python requests设置代理的方法步骤

    Python requests设置代理的方法步骤

    这篇文章主要介绍了Python requests设置代理的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 结合Python网络爬虫做一个今日新闻小程序

    结合Python网络爬虫做一个今日新闻小程序

    本篇文章介绍了我在开发过程中遇到的一个问题,以及解决该问题的过程及思路,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09

最新评论