当前位置 博文首页 > matplotlib之pyplot模块之标题(title()和suptitle())

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

    作者:mighty13 时间:2021-07-25 11:46

    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()
    

    在这里插入图片描述

    使用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()内容请搜索站长博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持站长博客!

    jsjbwy