【mac】matplotlib显示中文问题

这里写图片描述
或许你曾经碰到过这样的情况

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

或许你添加了这两行代码还是没有效果,在你图表中的中文依旧是一个个小框框
不要着急嘛,我们来把问题原因弄清楚,原因就是matplotlib库中压根就没有中文字体啊
在试过几种方法之后我发现一种及其简单的,分享给大家

超简便的方法

  • 运行以下代码,它会将你所有的字体显示出来,注意打印出来的都是英文,你得自己分辨哪些是中文字体
from matplotlib import font_manager
a = sorted([f.name for f in font_manager.fontManager.ttflist])
for i in a:
    print(i)

这是我的一部分字体,从中挑选自己需要的字体

Andale Mono
Apple Braille
Apple Braille
Apple Braille
Apple Braille
Apple Braille
Apple Chancery
Apple LiGothic
Apple LiSung
Apple Symbols
AppleGothic
AppleMyungjo
Arial
Arial
Arial
Arial
Arial Black
Arial Narrow
Arial Narrow
Arial Narrow
Arial Narrow
Arial Rounded MT Bold
Arial Unicode MS
Ayuthaya
BiauKai
Big Caslon
Bodoni 72 Smallcaps
Bodoni Ornaments
Bradley Hand
Brush Script MT
Chalkduster
Comic Sans MS
Comic Sans MS
Courier New
Courier New
Courier New
Courier New
DIN Alternate
DIN Condensed
DejaVu Sans
DejaVu Sans
DejaVu Sans
DejaVu Sans
DejaVu Sans Display
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Sans Mono
DejaVu Serif
DejaVu Serif
DejaVu Serif
DejaVu Serif
DejaVu Serif Display
Diwan Thuluth
Farisi
Georgia
Georgia
Georgia
Georgia
GungSeo
Gurmukhi MT
HeadLineA
Hei
Herculanum
Hoefler Text
Impact
Kai
Khmer Sangam MN
Kokonor
Krungthep
Lao Sangam MN
LiHei Pro
LiSong Pro
LingWai SC
LingWai TC
Luminari
Microsoft Sans Serif
Mishafi
Mishafi Gold
Osaka
Osaka
PCMyungjo
PilGi
Plantagenet Cherokee
STFangsong
STHeiti
STHeiti
STIXGeneral
STIXIntegralsD
STIXIntegralsD
STIXIntegralsSm
STIXIntegralsUp
STIXIntegralsUp
STIXIntegralsUpD
STIXIntegralsUpD
STIXIntegralsUpSm
STIXIntegralsUpSm
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXNonUnicode
STIXSizeFiveSym
STIXSizeFiveSym
STIXSizeFourSym
STIXSizeFourSym
STIXSizeFourSym
STIXSizeFourSym
STIXSizeOneSym
STIXSizeOneSym
STIXSizeOneSym
STIXSizeOneSym
STIXSizeThreeSym
STIXSizeThreeSym
STIXSizeThreeSym
STIXSizeThreeSym
STIXSizeTwoSym
STIXSizeTwoSym
STIXSizeTwoSym
STIXSizeTwoSym
STIXVariants
STIXVariants
Sathu
Silom
SimHei
Skia
Symbol
Tahoma
Tahoma
TeamViewer13
Times New Roman
Toppan Bunkyu Midashi Gothic
Toppan Bunkyu Midashi Mincho
Toppan Bunkyu Mincho
Trattatello
Trebuchet MS
Trebuchet MS
Trebuchet MS
Trebuchet MS
Verdana
Wawati SC
Wawati TC
Webdings
Weibei SC
  • 把你需要的字体放在=后面的中括号中,比如我放的就是黑体
plt.rcParams['font.sans-serif']=['STHeiti'] #用来正常显示中文标签

就开心的解决啦!

猜你喜欢

转载自blog.csdn.net/alicelmx/article/details/81231803