matplotlib之pyplot模块——添加图形级图例、文本、轴标签(figlegend()、figtext()、Figure.supxlabel()、Figure.supylabel())

当前有效matplotlib版本为:3.4.1

概述

如果不手动创建子图,matplotlib会默认自动创建一个子图,前面介绍的title()、legend()、xlabel()、ylabel()等函数的调用对象其实都是子图对象,也只对子图生效。如果想在整个图形中添加标题、图例、轴标签该如何操作呢?

matplotlib.pyplot模块提供了suptitle()figlegend()figtext()等函数用于添加图形级的标题、图例、文本。
figure对象增加了supxlabel()方法和supylabel()方法用于添加图形的轴标签。(3.4.1新特性)

figlegend()函数

figlegend()函数用于为图形添加图例。其用法与legend()函数类似。

函数的签名为matplotlib.pyplot.figlegend(*args, **kwargs)

figtext()函数

figtext()函数用于为图形添加文本。其用法与text()函数类似,主要区别在于位置参数xy的参照为整个图形。

函数的签名为matplotlib.pyplot.figtext(x, y, s, fontdict=None, **kwargs)

Figure.supxlabel()Figure.supylabel()

matplotlib 3.4.1增加了为图形添加轴标签的功能。其使用方法类似于pyplot.suptitlepyplot.xlabel()pyplot.ylabel()
函数的签名为:
matplotlib.figure.FigureBase.supxlabel( t, **kwargs)
matplotlib.figure.FigureBase.supylabel( t, **kwargs)

案例:演示图形级的标题、图例、文本、轴标签

import matplotlib.pyplot as plt

# 添加3行3列9个子图
fig, axes = plt.subplots(3, 3)
# 为第一个子图添加一条直线,并绘制子图图例
axes[0, 0].plot([1, 1], label='1')
axes[0, 0].legend()
axes[0, 0].set_title('1')
# 为第二个子图添加一条直线
axes[0, 1].plot([1, 1], label='1')
# 绘制整个图形的图例
plt.figlegend()
# 在整个图形范围内添加文本
plt.figtext(0.3, 0.3, 'test')
# 添加整个图形的标题
plt.suptitle('test')
# 添加整个图形的x轴标签
fig.supxlabel("x")
# 添加整个图形的y轴标签
fig.supylabel("y")

plt.show()

matplotlib之pyplot模块——添加图形级图例、文本、轴标签(figlegend()、figtext()、Figure.supxlabel()、Figure.supylabel())

上一篇:java,spring,tomcat,跨域设置


下一篇:HDU 2030 统计汉字