matplotlib 源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)添加链接描述简单比较了matplotlib中的标题。

使用title()设置子图标题

title()同时在子图中显示中间、左侧、右侧3个标题
函数签名为matplotlib.pyplot.title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)
参数作用及取值如下:

  • label:类型为字符串,即标题文本。
  • fontdict:类型为字典,控制文本的字体属性。默认值为:
{'fontsize': rcParams['axes.titlesize'],
 'fontweight': rcParams['axes.titleweight'],
 'color': rcParams['axes.titlecolor'],
 'verticalalignment': 'baseline',
 'horizontalalignment': loc}
  • loc:取值范围为{'left', 'center', 'right'},默认值为rcParams["axes.titlelocation"]'center'),即标题的位置。
  • y:类型为浮点数,默认值为rcParams["axes.titley"] (None)。即标题在子图中的垂直距离,单位为子图高度的百分比,1.0在子图最顶部,默认值None则自动确定标题位置,避免与其他元素重叠。
  • pad:类型为浮点数,默认值为default: rcParams["axes.titlepad"] (6.0)。即标题与子图的填充距离(内边距)。
  • **kwargsText 对象关键字属性,用于控制文本的外观属性,如字体、文本颜色等。

返回值为Text对象。

title()相关rcParams为:

#axes.titlelocation: center # alignment of the title: {left, right, center}
#axes.titlesize:   large  # fontsize of the axes title
#axes.titleweight:  normal # font weight of title
#axes.titlecolor:  auto  # color of the axes title, auto falls back to
               # text.color as default value
#axes.titley:    None  # position title (axes relative units). None implies auto
#axes.titlepad:   6.0   # pad between axes and title in points

底层相关方法为:
Axes.set_title(self, label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)
Axes.get_title(self, loc='center')注意返回指定位置的标题文本。

案例

同时设置3个子图标题。

import matplotlib.pyplot as plt

# 注意,子图可以同时设置中间、左侧、右侧3个标题
plt.plot([1, 1])
# 在右侧底部显示子图标题
plt.title("right bottom",y=0,loc='right')
# 在左侧顶部显示子图标题
plt.title("left top",y=1,loc='left')
# 显示默认子图标题
plt.title("default")
plt.show()

matplotlib之pyplot模块之标题(title()和suptitle())

使用suptitle()设置图像标题

为图像添加一个居中标题。
函数签名为matplotlib.pyplot.suptitle(t, **kwargs)
参数作用及取值如下:

  • t:类型为字符串,即标题文本。
  • x:类型为浮点数,即标题在图像水平方向相对位置,默认值为0.5
  • y:类型为浮点数,即标题在图像垂直方向相对位置,默认值为0.98
  • fontdict:类型为字典,控制文本的字体属性。默认值为:
{'fontsize': rcParams['axes.titlesize'],
 'fontweight': rcParams['axes.titleweight'],
 'color': rcParams['axes.titlecolor'],
 'verticalalignment': 'baseline',
 'horizontalalignment': loc}
  • horizontalalignment, ha:类型为字符串,取值范围{'center', 'left', right'},默认值为'center',即相对于(x,y)的水平方向对齐方式。
  • verticalalignment, va:类型为字符串,取值范围{'top', 'center', 'bottom', 'baseline'},默认值为'top',即相对于(x,y)的垂直方向对齐方式。
  • fontsize, size:取值范围为浮点数或{'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'},默认值为rcParams["figure.titlesize"] ('large'),文本的字体大小。
  • fontweight, weight:取值范围详见文档,字即文本的字重。
  • **kwargsText 对象关键字属性,用于控制文本的外观属性,如字体、文本颜色等。

返回值为Text对象。

suptitle()相关rcParams为:

#figure.titlesize:  large   # size of the figure title (``Figure.suptitle()``)
#figure.titleweight: normal  # weight of the figure title

案例

添加图像标题,并设置坐标、字体大小、文本颜色等属性。

import matplotlib.pyplot as plt

plt.plot([1, 1])
plt.title("title")
plt.suptitle("suptitle", x=0.1, y=0.98, fontsize=16, color='red')

plt.show()

matplotlib之pyplot模块之标题(title()和suptitle())

标签:
matplotlib,title()和suptitle(),matplotlib,title(),matplotlib,suptitle()

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com