zoukankan      html  css  js  c++  java
  • pyplot文本显示

    pyplot文本显示

    pyplot中文字符显示

    pyplot默认不支持中文字符,因为默认字体是sans-serif,英文字体不能显示中文

    方法1,修改需要输出中文字符的地方

    在有中文输出的地方,添加属性:fontproperties

    • 优点,使用方便,影响范围可控
    • 缺点:不是所有输出中文的方法都有fontProperties属性,例如图例中文,没有的时候,仍需使用方法2
    import matplotlib.pyplot as plt
    
    plt.plot([3,1,5,4,2])
    plt.xlabel('X轴值')
    plt.ylabel('Y轴值',fontproperties='SimHei')
    
    plt.show()

    方法2,修改全局默认字体

    • 优点:适用于所有中文乱码情况
    • 缺点:修改后影响本工作空间内所有代码,本次运行中删除代码也不会恢复默认,如想恢复默认可将字体名改回系统默认的sans-serif

    例子:

    import matplotlib.pyplot as plt
    
    import matplotlib #载入matplotlib完整库
    matplotlib.rcParams['font.family']='Microsoft Yahei' #字体,改为微软雅黑,默认 sans-serif
    matplotlib.rcParams['font.size']=32 #字体大小,整数字号,默认10
    
    plt.plot([3,1,5,4,2])
    plt.xlabel('X axis')
    plt.ylabel('Y轴值')
    
    plt.show()

    一些系统通用中文字体名称(英文名称)

    • Microsoft Yahei 微软雅黑,推荐
    • SimHei 黑体(某些符号可能会出问题,例如负号)
    • Kaiti 楷体
    • FangSong 仿宋

    pyplot常用文本显示函数

    • plt.xlabel() X轴文本标签
    • plt.ylabel() Y轴文本标签
    • plt.title() 图表标题
    • plt.text() 任意位置增加文本
    • plt.annotate() 任意位置增加带箭头的注释文本
      • plt.annotate(string,xy=arrow_crd,xytext=text_crd,arrowprops=dict)
      • string:要显示的字符串
      • xy:箭头所在的位置
      • xytext:文本显示的位置
      • arrowprops:字典类型,定义了整个元素显示的一些属性

    注:当字符串里有反斜杠等转义特殊字符时,字符串前加r,表示显示原始字符串

    例子:

    import matplotlib.pyplot as plt
    
    plt.plot([3,1,5,4,2])
    
    plt.xlabel(r'X axis') #字符串前加r显示原始字符串
    
    plt.ylabel('纵轴值',fontproperties='SimHei',color='#00ff00',fontsize='24')
    
    plt.title('图表标题 $a^{2}+b^{2}=C^{2}$',fontproperties='SimHei') #可以使用$引入一部分latex文本排版语法和公式
    
    plt.text(0.5,3,'任意位置文本',fontproperties='SimHei',fontsize='24',rotation=45) #任意文本的x,y坐标值(可用latex语法),旋转角度
    
    plt.annotate(
        '这里转折', #显示字符串
        fontproperties='SimHei', # 中文字体
        xy=(3,4), # 箭头位置
        xytext=(3.5,4.5), # 文本位置
        arrowprops=dict(facecolor='red',shrink=0.1,width=2) # facecolor:箭头颜色;shrink:箭头的起始和结束位置两侧的空白大小;箭头宽度
    )
    
    plt.show()

  • 相关阅读:
    SVN同步版本库与网站目录2
    SVN同步版本库与网站目录
    vsftpd配置手册(实用)
    Yii中的CComponent应用实例
    js中文乱码
    yii CComponent组件 实例说明1
    try...cath...finally中的return什么时候执行
    Jmeter之Constant Timer与constant throughput timer的区别
    cookie、session、sessionid ,jsessionid 的区别
    性能测试基本概念
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10131637.html
Copyright © 2011-2022 走看看