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='')

plt.title('图表标题 $a^{2}+b^{2}=C^{2}$',fontproperties='SimHei') #可以使用$引入一部分latex文本排版语法和公式

plt.text(0.5,3,'任意位置文本',fontproperties='SimHei',fontsize='',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:箭头的起始和结束位置两侧的空白大小;width:箭头宽度
) plt.show()

pyplot文本显示的更多相关文章

  1. css截断长文本显示

    实现 截断长文本显示处理,以前是通过后台的截取,但这种方法容易丢失数据,不利于SEO. 而通过前端css的截断,则灵活多变,可统一运用与整个网站. 这项技术主要运用了text-overflow属性,这 ...

  2. CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)

    http://www.52css.com/article.asp?id=602 ===================================================     html ...

  3. 新公司入职第一天遇到的 关于 CSS 单行溢出文本显示省略号...的问题

    上班第一天 前端岗位,因为公司这个项目是标准开发 所以没法用框架在打架页面,好吧 我手写 各种div 各种css样式 好不忧伤,好吧 不废话了 进入正题. 想在导航栏中的 客户信息 功能点 实现溢出用 ...

  4. HTML超出文本显示省略号...[text-overflow]

    需要对div或者span同时应用Css: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 即可实现所想要得到的溢出文本显示省略 ...

  5. Android开发之多线程下载、断点续传、进度条和文本显示

    代码实现了在Android环境下的多线程下载.断点续传.进度条显示和文本显示百分数: import java.io.BufferedReader; import java.io.File; impor ...

  6. 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处

    使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...

  7. css 溢出文本显示省略号

    这个标题其实已经是一个老生常谈的问题了.很多时候,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没有这么宽,这时候最正常的做法就是 让超出宽度的部分文字用省略号(…)来表示.通常做法是网 ...

  8. EmWin 文本显示函数

    函数模型----------------------------------- 1:void GUI_DispChar(U16 c):  在当前窗口的当前文本位置处,使用当前字体显示单个字符.  c ...

  9. text-overflow:ellipsis ,溢出文本显示省略号

    text-overflow:ellipsis 对溢出文本显示省略号有两个好处, 一是不用通过程序限定字数 二是有利于SEO. 需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友 ...

随机推荐

  1. Django 实现CRM 问卷调查功能组件

    目录结构: 母版 {% load staticfiles %} <!DOCTYPE html> <html lang="zh-CN"> <head&g ...

  2. ubuntu 安装时分辨率太小 导致无法继续安装

    当分辨率是800 *600时,底部的按钮无法显示,不能继续安装. 可以在右上角,点击电源按钮,在系统设置中调整显示的分辨率后,继续安装.

  3. Mycat 数据库分库分表中间件

    http://www.mycat.io/ Mycat 国内最活跃的.性能最好的开源数据库中间件! 我们致力于开发高性能的开源中间件而努力! 实体书Mycat权威指南 »开源投票支持Mycat下载 »s ...

  4. 2018年,Java程序猿10本经典好书推荐

    1.Java 8实战 本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas.流和函数式编程.有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件.全书分四个部分:基础 ...

  5. qt creator 快捷键 (一)

    F1        查看帮助F2        跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2    声明和定义之间切换F4        头文件和源文件之间切换Ctrl+1     ...

  6. 开源框架:Apache的DBUtils框架

    开源框架:Apache的DBUtils框架 Commons DbUtils 1.4 API 开源框架:DBUtils使用详解 Download Apache Commons DbUtils  官方文档

  7. 转载-JavaWeb学习总结

    JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件 孤傲苍狼 2015-01-12 23:51 阅读:13407 评论:20     JavaWeb学习总结(五十二)——使用 ...

  8. python3 from Tkinter import * 和import Tkinter as tk两个区别import Tkinter

    原文https://stackoverflow.com/questions/15974787/difference-between-import-tkinter-as-tk-and-from-tkin ...

  9. 6.13-C3p0连接池配置,DBUtils使用

    DBCP连接池 一.C3p0连接池配置 开源的JDBC连接池 使用连接池的好处: 减轻数据库服务器压力 数据源: ComboPooledDataSource ComboPooledDataSource ...

  10. java自定义事件机制分析

    import java.util.ArrayList; import java.util.EventListener; import java.util.EventObject; import jav ...