美文网首页
Python数据可视化-添加注释文字

Python数据可视化-添加注释文字

作者: 5cb608806559 | 来源:发表于2020-10-20 00:47 被阅读0次

    在二维坐标图中我们经常对绘制的图形进行标注。在 matplotlib 中比较常用的有text和annotate两种标注方法,其中:

    • text: 无指向型标注,仅仅包含注释的文本内容
    • annotate: 指向型注释,不仅包含注释的文本内容还包含箭头指向,能够突显细节

    plt.text()

    plt.text(x, y, s, fontdict = None, **kwargs)
    

    参数说明:

    • x, y 为标注文本在绘图区域中的位置
    • s 为标注文本的内容
    • fontdict 为文本属性的字典,如果 fontdict 为 None,则使用默认的文本属性
    • **kwargs 可以使用键值对的形式替换 fontdict 中的文本属性

    示例

    import numpy as np
    import matplotlib.pyplot as plt
    
    font = {'family': 'serif',
            'color':  'darkred',
            'weight': 'normal',
            'size': 16 }
    
    x = np.linspace(0.0, 5.0, 100)
    y = np.cos(2*np.pi*x) * np.exp(-x)
    
    plt.plot(x, y, 'k')
    plt.title('Damped exponential decay', fontdict=font)
    plt.text(2, 0.65, r'$\cos(2 \pi t) \exp(-t)$', fontdict=font)
    plt.xlabel('time (s)', fontdict=font)
    plt.ylabel('voltage (mV)', fontdict=font)
    
    plt.subplots_adjust(left=0.15)
    plt.show()
    

    运行结果:


    image.png

    plt.annotate()

    Matplotlib中的annotate函数可用于在图形上给数据添加文本注解,而且支持带箭头的划线工具,非常方便我们在合适的位置添加描述信息。

    plt.annotate(s, xy, *args, **kwargs)
    

    参数说明:

    • s:注释文本的内容
    • xy:被注释的坐标点,二维元组形如(x,y)
    • xytext:注释文本的坐标点,也是二维元组,默认与xy相同
    • xycoords:被注释点的坐标系属性,允许输入的值如下
    • arrowprops:箭头的样式,dict(字典)型数据,如果该属性非空,则会在注释文本和被注释点之间画一个箭头。如果不设置'arrowstyle' 关键字,则允许包含以下关键字:

    plt.annotate() 示例

    import numpy as np
    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots()
    
    t = np.arange(0.0, 5.0, 0.01)
    s = np.cos(2*np.pi*t)
    line, = ax.plot(t, s, lw=2)
    
    ax.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
                arrowprops=dict(facecolor='black', shrink=0.05))
    ax.set_ylim(-2, 2)
    plt.show()
    

    运行结果:


    image.png

    相关文章

      网友评论

          本文标题:Python数据可视化-添加注释文字

          本文链接:https://www.haomeiwen.com/subject/bbrrmktx.html