matplotlib、seaborn 展示中文字体
我们经常使用matplotlib
、seaborn
绘制各种图标但是失望的是他们对中文字符不支持。
matplotlib 展示中文
查找系统上中文字体的安装位置,我选用的是宋体,然后拷贝到可读目录下~/fonts/Songti.ttc
mac: /System/Library/Fonts/Supplemental/Songti.ttc
window: C:\WINDOWS\Fonts\中文字体.ttf
linux: /usr/share/fonts复制
python 代码:
import matplotlib.font_manager as fm,os
import matplotlib.pyplot as plt
# 添加字体
myfont = fm.FontProperties(fname=os.path.join(os.getenv('HOME'),'fonts/Songti.ttc'),size=10)
plt.xlabel('长度',fontproperties=myfont)
plt.ylabel('宽度',fontproperties=myfont)复制
seaborn 展示中文
方法一:提供字体文件
查找系统上中文字体的安装位置,我选用的是宋体,然后拷贝到可读目录下
~/fonts/Songti.ttc
mac: /System/Library/Fonts/Supplemental/Songti.ttc
window: C:\WINDOWS\Fonts\中文字体.ttf
linux: /usr/share/fonts复制Python 代码:
import os
import matplotlib.font_manager as fm
import seaborn as sns
import pandas as pd
# 添加字体
myfont = fm.FontProperties(fname=os.path.join(os.getenv('HOME'),'fonts/Songti.ttc'),size=10)
sns.set(font=myfont.get_name())
tips = pd.DataFrame({
'time':["午餐","晚餐"],
'total_bill':[1,2],
})
sns.pointplot(x="time", y="total_bill", data=tips)复制
方法二:添加字体
查看
matplotlib
默认字体from matplotlib.font_manager import findfont, FontProperties
findfont(FontProperties(family=FontProperties().get_familys
# out: /home/xxx/venv/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf复制查找
matplotlibrc
的路径import matplotlib
matplotlib.matplotlib_fname()
# out: /home/xxx/venv/lib64/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc复制修改
matplotlibrc
vim /home/xxx/venv/lib64/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
复制取消注释
font.family
和font.sans-serif
,然后在font.sans-serif
后追加你刚才的字符集名:# 获取字符集名
import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname=os.path.join(os.getenv('HOME'),'fonts/Songti.ttc'),size=10)
myfont.get_name()
# out: Songti SC复制修改:
font.family: sans-serif
#font.style: normal
#font.variant: normal
#font.weight: normal
#font.stretch: normal
#font.size: 10.0
#font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L,Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
font.sans-serif: Songti SC, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#font.cursive: Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive
#font.fantasy: Comic Neue, Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy
#font.monospace: DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace复制移除
matplotlib
缓存rm -rf ~/.matplotlib
复制拷贝你的字体文件到
matplotlib
字体目录下cp /System/Library/Fonts/Supplemental/Songti.ttc /Users/Andrew/miniconda3/envs/technical-note/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
复制重启
jupyter Notebook
内核,然后就可以了。
方法三:直接替换默认字体
查看
matplotlib
默认字体from matplotlib.font_manager import findfont, FontProperties
findfont(FontProperties(family=FontProperties().get_familys
# out: /home/xxx/venv/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf复制备份字体
cp /home/xxx/venv/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf /home/xxx/venv/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf.bp
复制替换
cp /System/Library/Fonts/Supplemental/Songti.ttc /home/xxx/venv/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf
复制重启
jupyter Notebook
内核,然后就可以了
文章转载自编程之恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1202次阅读
2025-04-27 16:53:22
2025年3月国产数据库中标情况一览:TDSQL大单622万、GaussDB大单581万……
通讯员
884次阅读
2025-04-10 15:35:48
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
685次阅读
2025-04-30 15:24:06
数据库,没有关税却有壁垒
多明戈教你玩狼人杀
585次阅读
2025-04-11 09:38:42
天津市政府数据库框采结果公布,7家数据库产品入选!
通讯员
574次阅读
2025-04-10 12:32:35
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
564次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
491次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
468次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
459次阅读
2025-04-30 12:17:50
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
353次阅读
2025-04-18 10:01:22