弹幕网站开发代码,欧洲人喜欢什么样的服务器,人防工程建设网站,西安官网seo诊断一、前言#xff1a;
使⽤matplotlib画图时#xff0c;由于matplotlib默认没有中⽂#xff0c;显⽰中文时会出现空⽩⼩⽅块。
二、方法#xff1a;
2.1 matplotlib中使用SimHei字体
1#xff09;进入终端后查看matplotlib的字体路径#xff1a;
$ python使⽤matplotlib画图时由于matplotlib默认没有中⽂显⽰中文时会出现空⽩⼩⽅块。
二、方法
2.1 matplotlib中使用SimHei字体
1进入终端后查看matplotlib的字体路径
$ pythonimport matplotlibprint(matplotlib.matplotlib_fname())
得到路径/Users/dongjun/.local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
2下载SimHei.ttf字体
https://us-logger1.oss-cn-beijing.aliyuncs.com/SimHei.ttf
3将下载好的SimHei.ttf字体移动到第⼀步查询到的字体⽬录./fonts/ttf/下
cp SimHei.ttf /Users/dongjun/.local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf
4清理matplotlib缓冲⽬录
$ pythonimport matplotlibprint(matplotlib.get_cachedir())
得到缓冲目录为/Users/dongjun/.matplotlib
$ rm -f /Users/dongjun/.matplotlib
5修改matplotlib原始文件
vim /Users/dongjun/.local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
依次修改以下内容
# 去掉前⾯的#
font.family: sans-serif
# 去掉前⾯的#⼿动加SimHei
font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# 去掉前⾯的#把True改为False
axes.unicode_minus: False # use Unicode for the minus symbol rather than hyphen.
6重启测试
在matplotlib中导入SimHei字体重新画图即可。
import matplotlib.pyplot as plt
plt.rcParams[font.sans-serif] [SimHei]
plt.rcParams[axes.unicode_minus] False 2.2 使用其他字体
import cv2
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inlineplt.rcParams[font.sans-serif][Songti SC] #用来正常显示中文标签
# 或者是下面这个宋体和仿宋字体都可以用。
plt.rcParams[font.sans-serif][STFangsong] #用来正常显示中文标签
plt.rcParams[axes.unicode_minus] False # 用来正常显示负号Windows与Mac通用
import matplotlib.pyplot as plt
plt.rcParams[font.sans-serif][SimHei,Songti SC,STFangsong]
plt.rcParams[axes.unicode_minus] False # 用来正常显示负号示例 import matplotlib.pyplot as plt
import matplotlib#from matplotlib import font_manager
#plt.rcParams[font.sans-serif] [Heiti TC]#plt.rcParams[font.sans-serif] [Songti SC]#plt.rcParams[font.sans-serif] [Arial Unicode MS]plt.rcParams[font.sans-serif] [PingFang HK]# 创建数据
x [1, 2, 3, 4, 5]
y1 [2, 1, 9, 8, 10]
y2 [100, 300, 500, 700, 900]# 创建图形和轴
fig, ax1 plt.subplots()# 绘制左侧Y轴数据
ax1.plot(x, y1, b-)
ax1.set_xlabel(X轴)
ax1.set_ylabel(左侧Y轴, colorb)# 创建第二个Y轴
ax2 ax1.twinx()# 绘制右侧Y轴数据
ax2.plot(x, y2, r--)
ax2.set_ylabel(右侧Y轴, colorr)# 显示图形
plt.show()
效果