#### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题

要画出10-12点气温变化的图像

```

from matplotlib import pyplot as plt

import random

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y)

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

```

运行出来的图像如下:

可以看出来图像中中文并没有显示出来,那么如何解决呢?下面提供三种方法,实质上第一第二种方法是一样的:

##### 第一种:

```

from matplotlib import pyplot as plt

import random

import matplotlib as mpl

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y)

mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 微软雅黑

mpl.rcParams['font.serif'] = ['Microsoft YaHei']

mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

```

这时运行出来的结果就有中文了:

##### 第二种方法:

```

from matplotlib import pyplot as plt

import random

import matplotlib

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

font = {'family' : 'Microsoft YaHei',

'weight' : 'bold',

'size' : '12'}

matplotlib.rc('font', **font)

plt.plot(x,y)

x_ticks = ['10点{}分'.format(i) for i in range(60)]

x_ticks += ['11点{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],x_ticks[::3],rotation=45)

plt.xlabel('时间')

plt.ylabel('温度:单位(℃)')

plt.title('十点到十二点气温变化情况')

```

运行结果如下,完美解决了中文不显示问题:

##### 第三种方法:

```

from matplotlib import pyplot as plt

import random

from matplotlib import font_manager

x = range(0,120)

y = [random.randint(20,35) for i in range(120)]

plt.figure(figsize=(20,8),dpi=80)

plt.plot(x,y)

my_font = font_manager.FontProperties(fname='C:\WINDOWS\FONTS\MSYHL.TTC') # win字体路径可在左下角搜索栏中输入字体查看

_xtick_labels = ['10点{}分'.format(i) for i in range(60)]

_xtick_labels += ['11点{}分'.format(i) for i in range(60)]

plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font)

plt.xlabel('时间',fontproperties=my_font)

plt.ylabel('温度:单位(℃)',fontproperties=my_font)

plt.title('十点到十二点气温变化情况',fontproperties=my_font)

```

运行出图像如下:

这种方法除了麻烦之外,可以看出虽然纵坐标和标题的中文都显示出来了,但是横坐标从第二项开始就还是不显示...

##### 推荐第一二种方法,第三种方法不知道是什么原因导致仍有未显示的中文,望各位大佬有空闲时能帮忙分析一下原因,交流一下~

u1s1知乎啥时候引进markdown编辑器啊,这样好乱啊。。。。

不嫌弃的话请移步俺的“嗅探熊”,探索更多黑科技!

python不能保存中文_Python 关于matplotlib无法显示中文字体的解决方法相关推荐

  1. matplotlib 中文_Python 关于matplotlib无法显示中文字体的解决方法

    #### 以下面的例子说明如何解决matplotlib画图中出现中文字体无法显示问题 要画出10-12点气温变化的图像 ``` from matplotlib import pyplot as plt ...

  2. python安装pyecharts失败_Python中pyecharts安装及安装失败的解决方法

    pyecharts 是一个用于生成 Echarts 图表的类库.Echarts 是百度开源的一个数据可视化 JS 库.这篇文章重点给大家介绍pyecharts安装失败的处理方法,具体详情如下: pye ...

  3. python画图显示不了中文_Python使用matplotlib绘图无法显示中文问题的解决方法

    本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法.分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplo ...

  4. mac中python怎么打开中文txt文件-mac在matplotlib中显示中文的操作方法

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 . 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方 ...

  5. python怎么显示汉字_mac在matplotlib中显示中文的操作方法

    Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形 . 通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方 ...

  6. Python matplotlib 画图 显示中文 中文乱码 无法显示负号

    Python matplotlib 画图 显示中文 中文乱码 无法显示负号 import matplotlib.pyplot as pltplt.rcParams["font.sans-se ...

  7. 【Python】matplotlib plt显示中文乱码解决方法

    原因:matplotlib库中没有中文字体,使用plt绘图时会出现乱码 如果遇到在matplotlib图例显示中文乱码情况,解决方法就是在程序最前进行下面参数设置: import matplotlib ...

  8. matplotlib 无法显示中文字体的解决方法

    matplotlib 无法显示中文字体的解决方法 参考文章: (1)matplotlib 无法显示中文字体的解决方法 (2)https://www.cnblogs.com/lingLongBaby/p ...

  9. win10c 系统语言 英文,Win10英文版系统下中文软件显示为问号的解决方法

    RegEx Dotext 1.0 β4.exe是一个强大的处理文本的小软件,感谢软件制作者sunsmile.但是安装了Windows 10英文版后,打开RegEx Dotext 1.0 β4.exe ...

最新文章

  1. 在MAC上搭建eclipse+android开发环境
  2. windows server 2008更新补丁失败排错
  3. 信号与系统 chapter2 冲激偶函数与阶跃函数
  4. 我了解到的面试的一些小内幕!顺利通过阿里Android岗面试
  5. python列表生成器语法_python列表生产式和生成器
  6. pluto实现分析(22)
  7. VMware Tools显示灰色的办法
  8. Git:取消合并方式
  9. 局域网ip扫描工具_Network Kit X for Mac(网络检测工具箱)
  10. ACID--事务四大特性
  11. 树莓派Python3 使用定时器
  12. python选课系统代码_Python选课系统开发程序
  13. 高德地图测开笔试题分享
  14. 什么是工业大数据?工业大数据的价值体现在哪些方面?
  15. 树莓派之无屏幕下发现树莓派IP方法
  16. 面向2022届毕业生-自动驾驶/SLAM/DL/C++ 岗位收集整理
  17. python多进程爬取上海房价并画出热力图分析
  18. 【OBS】Dropped Frames And General Connection Issues
  19. CSS实现水平垂直的几种方法
  20. 完美世界怎么修改服务器经验,三招教你快速升级

热门文章

  1. RPA机器人来了, 你的饭碗还好吗?
  2. ECS主动运维2.0,体验升级,事半功倍
  3. 关于机器学习,你需要知道的三件事!
  4. AI行业真实现状:做芯片没工作,做视觉、语音血赚
  5. 云漫圈 | 计数排序,你真的了解么?
  6. Cloud一分钟 | 云存储服务商​Egnyte获7500万美元E轮融资,高盛领投
  7. Cloud一分钟 | 云厂商Zoho域名被禁两小时;京东云公布医疗健康战略
  8. linux wheel用户组,Linux的用户和组之详解用户和组的分类
  9. java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库
  10. docker jfrog-oss