Matplotlib作图中文显示问题解决方案

Matplotlib作图中文显示问题解决方案

可以使用 matplotlib.rc 方法修改。
1.首先查看一下matplotlib的内置字体。

# 查询当前系统所有字体
from matplotlib.font_manager import FontManager
import subprocess

mpl_fonts = set(f.name for f in FontManager().ttflist)

print('all font list get from matplotlib.font_manager:')
for f in sorted(mpl_fonts):
    print('\t' + f)

运行如下:

all font list get from matplotlib.font_manager:
Adobe Garamond Pro
Agency FB
Albany AMT
Algerian
Arial
Arial Rounded MT Bold
Arial Symbol
Arial Unicode MS
Avenir Next Cyr W04
Avenir Next Cyr W04 Italic
Avenir Next Cyr W04 Light
Avenir Next Cyr W04 Light It
Avenir Next Cyr W04 Regular
Avenir Next LT W04
Avenir Next LT W04 Italic
Avenir Next LT W04 Light
Avenir Next LT W04 Light Italic
Avenir Next LT W04 Regular
Bahnschrift
Baskerville Old Face
Bauhaus 93
Bell MT
Berlin Sans FB
Berlin Sans FB Demi
Bernard MT Condensed
Blackadder ITC
Bodoni MT
Book Antiqua
Bookman Old Style
Bookshelf Symbol 7
Bradley Hand ITC
Britannic Bold
Broadway
Brush Script MT
CSongGB18030C-Light
CSongGB18030C-LightHWL
Calibri
Californian FB
Calisto MT
Cambria
Candara
Castellar
Centaur
Century
Century Gothic
Century Schoolbook
Chiller
Colonna MT
Comic Sans MS
Consolas
Constantia
Cooper Black
Copperplate Gothic Bold
Copperplate Gothic Light
Corbel
Courier New
Cumberland AMT
Curlz MT
DejaVu Sans
DejaVu Sans Display
DejaVu Sans Mono
DejaVu Serif
DejaVu Serif Display
DengXian
Dubai
Ebrima
Edwardian Script ITC
Elephant
Engravers MT
Eras Bold ITC
Eras Demi ITC
Eras Light ITC
Eras Medium ITC
Euclid
Euclid Extra
Euclid Fraktur
Euclid Math One
Euclid Math Two
Euclid Symbol
FZCuHeiSongS-B-GB
FZShuTi
FZXiaoBiaoSong-B05S
FZYaoTi
FangSong
FangSong_GB2312
Felix Titling
Fences
Footlight MT Light
Forte
Franklin Gothic Book
Franklin Gothic Demi
Franklin Gothic Demi Cond
Franklin Gothic Heavy
Franklin Gothic Medium
Franklin Gothic Medium Cond
Freestyle Script
French Script MT
Gabriola
Gadugi
Garamond
Georgia
Gigi
Gill Sans MT
Gill Sans MT Condensed
Gill Sans MT Ext Condensed Bold
Gill Sans Ultra Bold
Gill Sans Ultra Bold Condensed
Gloucester MT Extra Condensed
Goudy Old Style
Goudy Stout
HP Simplified
Haettenschweiler
Harlow Solid Italic
Harrington
HeiT
High Tower Text
HoloLens MDL2 Assets
Impact
Imprint MT Shadow
Informal Roman
Ink Free
Javanese Text
Jokerman
Juice ITC
KaiTi
KaiTi_GB2312
Kristen ITC
Kunstler Script
Leelawadee
Leelawadee UI
LiSu
Lucida Bright
Lucida Calligraphy
Lucida Console
Lucida Fax
Lucida Handwriting
Lucida Sans
Lucida Sans Typewriter
Lucida Sans Unicode
MS Gothic
MS Outlook
MS Reference Sans Serif
MS Reference Specialty
MT Extra
MT Extra Tiger
MV Boli
MYingHei_18030_C-Medium
MYingHei_18030_C-MediumHWL
Magneto
Maiandra GD
Malgun Gothic
Marlett
Matura MT Script Capitals
Microsoft Himalaya
Microsoft JhengHei
Microsoft New Tai Lue
Microsoft PhagsPa
Microsoft Sans Serif
Microsoft Tai Le
Microsoft Uighur
Microsoft YaHei
Microsoft Yi Baiti
MingLiU-ExtB
Minion Pro
Mistral
Modern No. 20
Mongolian Baiti
Monotype Corsiva
Monotype Sans WT J
Monotype Sans WT K
Monotype Sans WT SC
Monotype Sans WT TC
Monotype Sorts
Myanmar Text
Myriad Pro
Niagara Engraved
Niagara Solid
Nirmala UI
NumberOnly
OCR A Extended
Old English Text MT
Onyx
Palace Script MT
Palatino Linotype
Papyrus
Parchment
Perpetua
Perpetua Titling MT
Playbill
Poor Richard
Pristina
Rage Italic
Ravie
Rockwell
Rockwell Condensed
Rockwell Extra Bold
SAS Monospace
SAS Monospace Bold
STCaiyun
STFangsong
STHupo
STIXGeneral
STIXNonUnicode
STIXSizeFiveSym
STIXSizeFourSym
STIXSizeOneSym
STIXSizeThreeSym
STIXSizeTwoSym
STKaiti
STLiti
STSong
STXihei
STXingkai
STXinwei
STZhongsong
Script MT Bold
Segoe MDL2 Assets
Segoe Print
Segoe Script
Segoe UI
Segoe UI Emoji
Segoe UI Historic
Segoe UI Symbol
Showcard Gothic
SimHei
SimSun
SimSun-ExtB
Sitka Small
Snap ITC
Stencil
Sylfaen
Symbol
Symbol MT
Symbol Tiger
Symbol Tiger Expert
Tahoma
Tempus Sans ITC
Thorndale AMT
Thorndale Duospace WT J
Thorndale Duospace WT K
Thorndale Duospace WT SC
Thorndale Duospace WT TC
Tiger
Tiger Expert
Times New Roman
Times New Roman Symbol
Times New Roman Uni
Trebuchet MS
Tw Cen MT
Tw Cen MT Condensed
Tw Cen MT Condensed Extra Bold
Verdana
Viner Hand ITC
Vivaldi
Vladimir Script
Webdings
Wide Latin
Wingdings
Wingdings 2
Wingdings 3
YouYuan
Yu Gothic
cmb10
cmex10
cmmi10
cmr10
cmss10
cmsy10
cmtt10
qtquickcontrols

import matplotlib.pyplot as plt
plt.figure()
plt.suptitle('修改rcparams改变样式', size=10)
plt.style.use('default') 
plt.plot([1,2,3,4],[2,3,4,5]);

标题显示有问题,使用 matplotlib.rc 方法修改。
在这里插入图片描述

import matplotlib.pyplot as plt
#字体可以从上面内置里选择自己想要的
plt.rc("font",family='Microsoft YaHei')
plt.figure()
plt.suptitle('修改rcparams改变样式', size=10)
plt.style.use('default') 
plt.plot([1,2,3,4],[2,3,4,5]);

运行,显示正常。
在这里插入图片描述
参考资料:
彻底解决Python里matplotlib不显示中文的问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值