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多子图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中按键来获取指定的值

    Python中按键来获取指定的值

    今天小编就为大家分享一篇关于Python中按键来获取指定的值,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Python3之字符串比较_重写cmp函数方式

    Python3之字符串比较_重写cmp函数方式

    这篇文章主要介绍了Python3之字符串比较_重写cmp函数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 使用Pycharm在运行过程中,查看每个变量的操作(show variables)

    使用Pycharm在运行过程中,查看每个变量的操作(show variables)

    这篇文章主要介绍了使用Pycharm在运行过程中,查看每个变量的操作(show variables),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python argv用法详解

    Python argv用法详解

    这篇文章主要介绍了Python argv用法详解的相关资料,涉及到python argv相关知识,需要的朋友可以参考下
    2016-01-01
  • Python进阶之全面解读高级特性之切片

    Python进阶之全面解读高级特性之切片

    切片的作用就是截取序列对象,然而,对于非序列对象,我们是否有办法做到切片操作呢?在使用切片的过程中,有什么要点值得重视,又有什么底层原理值得关注呢?本文将主要跟大家一起来探讨这些内容
    2019-02-02
  • Python是什么 Python的用处

    Python是什么 Python的用处

    在本篇文章里小编给大家分享的是关于python的作用和用途知识点,有兴趣的朋友们可以参考下。
    2020-05-05
  • Python调用graphviz绘制结构化图形网络示例

    Python调用graphviz绘制结构化图形网络示例

    今天小编就为大家分享一篇Python调用graphviz绘制结构化图形网络示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python实现简单socket程序在两台电脑之间传输消息的方法

    python实现简单socket程序在两台电脑之间传输消息的方法

    这篇文章主要介绍了python实现简单socket程序在两台电脑之间传输消息的方法,涉及Python操作socket的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 使用python实现strcmp函数功能示例

    使用python实现strcmp函数功能示例

    这篇文章主要介绍了使用python实现strcmp函数功能的示例,需要的朋友可以参考下
    2014-03-03
  • python中对_init_的理解及实例解析

    python中对_init_的理解及实例解析

    这篇文章主要介绍了python中对_init_的理解及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10

最新评论