美文网首页Matplotlib编程-Python
matplotlib可视化篇annotate(),text()-

matplotlib可视化篇annotate(),text()-

作者: CodeFUN | 来源:发表于2019-01-18 21:57 被阅读13次

    本节内容: 1. 指向型注释annotate() 2. 无指向型注释text()

    1. matplotlib.pyplot.annotate()

    功能:在图中带有指向型文本注释信息,突显细节,官方项目地址,高级玩法,下面列出常用参数信息。

    s:str, 注释信息内容
    xy:(float,float), 细节所在的坐标位置
    xytext:(float,float), 注释内容的坐标位置
    weight: str or int, 设置字体线型,其中字符串从小到大可选项有{'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'}
    color: str or tuple, 设置字体颜色 ,单个字符候选项{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'},也可以'black','red'等,tuple时用[0,1]之间的浮点型数据,RGB或者RGBA, 如: (0.1, 0.2, 0.5)、(0.1, 0.2, 0.5, 0.3)等
    arrowprops:dict,设置指向箭头的参数,字典中key值有①arrowstyle:设置箭头的样式,其value候选项如'->','|-|','-|>',也可以用字符串'simple','fancy'等,详情见顶部的官方项目地址链接。
    ②connectionstyle:设置箭头的形状,为直线或者曲线,候选项有'arc3','arc','angle','angle3',可以防止箭头被曲线内容遮挡
    ③color:设置箭头颜色,见前面的color参数。
    bbox:dict,为注释文本添加边框,其key有①boxstyle,其格式类似'round,pad=0.5',其可选项如下:

    boxstyle详细设定 ②facecolor(可简写为fc)设置背景颜色
    ③ edgecolor(可简写为ec)设置边框线条颜色
    ④lineweight(可简写为lw)设置边框线型粗细
    ⑤alpha设置透明度,[0,1]之间的小数,0代表完全透明,即类似③颜色设置无效。
    # annotate()函数使用
    import matplotlib.pyplot as plt
    import numpy as np
    
    x=np.linspace(0,10,200)#从0到10之间等距产生200个值
    y=np.sin(x)
    
    plt.plot(x,y,linestyle='-.',color='purple')
    plt.annotate(s='Here I am',xy=(3,np.sin(3)),xytext=(4,-0.5),weight='bold',color='aqua',\
                 arrowprops=dict(arrowstyle='-|>',connectionstyle='arc3',color='red'),\
                bbox=dict(boxstyle='round,pad=0.5', fc='yellow', ec='k',lw=1 ,alpha=0.4))
    plt.show()
    
    annotate()函数实现效果

    2. 无指向型的注释文本 matplotlib.pyplot.text()函数,即只会在图中添加注释内容而无指向箭头。

    参数信息:plt.text(x,y,s,family,fontsize,style,color)

    补充说明

    x,y代表注释内容位置,s代表注释文本内容,family设置字体,自带的可选项有{'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'},fontsize字体大小,style设置字体样式,可选项{'normal', 'italic'(斜体), 'oblique'(也是斜体)}

    import matplotlib.pyplot as plt
    import numpy as np
    
    x=np.linspace(0,10,200)#从0到10之间等距产生200个值
    y=np.sin(x)
    
    plt.plot(x,y,linestyle='-.',color='dodgerblue')
    # plt.text(x,y,s,family,fontsize,style,color)
    plt.text(4, 0, 'Here you are', family='fantasy', fontsize=12, \
                style='italic',color='mediumvioletred')
    plt.show()
    
    text()函数效果

    总结

    matplotlib画图函数有很多花样,函数参数内容可以互相借鉴,比如plt.text()中也可以添加bbox内容,文中没有标出,还有很多参数可以添加,有一些目前也没测试效果,之后测试会更新内容。

    相关文章

      网友评论

        本文标题:matplotlib可视化篇annotate(),text()-

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