300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python常用字体显示方框_seaborn模块中 图表中文字体变成方块的问题如何解决?...

python常用字体显示方框_seaborn模块中 图表中文字体变成方块的问题如何解决?...

时间:2021-12-05 07:45:22

相关推荐

python常用字体显示方框_seaborn模块中 图表中文字体变成方块的问题如何解决?...

有两种方法,一个是seaborn设置中文字体绝对路径,另一个是修改matplotlib的中文字体配置文件。本人使用的是Mac,下面以Mac系统添加思源黑体为例,Windows下设置方法大同小异。

1. 设置seaborn中文字体绝对路径

设置绝对路径方式可以随意使用想用的中文字体,亲测otf,ttf字体均有效。

import seaborn as sns

from matplotlib.font_manager import FontProperties

# 读取字体路径,设置字体为思源黑体

myfont=FontProperties(fname=r'/Users/Library/Fonts/SourceHanSansSC-Normal.otf')

sns.set(font=myfont.get_family())

sns.set_style("whitegrid",{"font.sans-serif":['Source Han Sans CN']})

# 房价数据存储到字典中,数据纯属虚构:)

city_price = {'深圳': 55000,'上海': 48000, '北京': 45000, '厦门': 35000, '广州': 33000}

# 作条形图

sns.barplot(x=[k for k, _ in city_price.items()], y=[v for _, v in city_price.items()])

sns.despine(left=True)

plt.title('房价排行', color='gray', fontsize=14, weight='bold')思源黑体Source Han Sans CN字体

等线DengXian字体

2. 修改matplotlib配置文件实现中文显示

a. 首先查找matplotlib的配置文件位置:

import matplotlib

matplotlib.matplotlib_fname()

得到的配置文件路径是:

/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

打开该文件,定位到下图位置,去掉这两行前面的#号,并在font.serif 中添加Source Han Sans CN。 这里可以自由添加想要的字体,黑体对应Sim Hei,微软雅黑对应Microsoft YaHei。

b. 接着,需要删除.matplotlib缓存文件夹,位置在/Users/使用者名称/.matplotlib,里面存有matplotlib的缓存,会影响加载新的字体。删除这个缓存文件夹

c. 之后再把字体文件放入matplotlib的字体文件夹中。字体文件夹位置在/Users/使用者名称/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf。

d. 重新开一个jupyter notebook测试中文字体

import seaborn as sns

# 房价数据存储到字典中,数据纯属虚构

city_price = {'深圳': 55000,'上海': 48000, '北京': 45000, '厦门': 35000, '广州': 33000}

# 作条形图

sns.barplot(x=[k for k, _ in city_price.items()], y=[v for _, v in city_price.items()])

sns.despine(left=True)

plt.title('房价排行', color='gray', fontsize=14, weight='bold')中文能够正确显示。PS:图片文字本身是清晰的,不知为何发布后就又黑又糊了...

完成!

参考内容:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。