matplotlib---中文显示问题、字体库、图像结构、画布设置

1. 中文显示问题

解决方案一:

       下载中文字体(黑体,看准系统版本)

        步骤一:下载 SimHei 字体(或者其他的支持中文显示的字体也行)

        步骤二:安装字体 linux下:拷贝字体到 usr/share/fonts 下:

sudo cp ~/SimHei.ttf /usr/share/fonts/SimHei.ttf

        windows和mac下:双击安装

        步骤三:删除~/.matplotlib中的缓存文件

cd ~/.matplotlib
rm -r *

         步骤四:修改配置文件matplotlibrc

vi ~/.matplotlib/matplotlibrc

        将文件内容修改为:

font.family : sans-serif
font.sans-serif : SimHei
axes.unicode_minus : False

解决方案二:

在Python脚本中动态设置matplotlibrc,这样也可以避免由于更改配置文件而造成的麻烦,具体代码

如下:

from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]

有时候,字体更改后,会导致坐标轴中的部分字符无法正常显示,此时需要更改

axes.unicode_minus参数:

# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False

jupyter中运行时配置参数:

# 如果浏览器不显示图片,就需要加上这句话
%matplotlib inline  

# 让图片中可以显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'   
# 让图片中可以显示负号
plt.rcParams['axes.unicode_minus'] = False  

# 支持svg矢量图
%config Inlinebackend.figure_format = 'svg'  

 查看自己电脑上的字体库:

from matplotlib.font_manager import FontManager
fm = FontManager()
my_fonts = set(f.name for f in fm.ttflist)
my_fonts

2. matplotlib的图像结构

matplotlib---中文显示问题、字体库、图像结构、画布设置_第1张图片3. 画布设置

plt.figure()

# 画布配置
# figsize: 画布大小,宽高
# dpi :分辨率
# facecolor: 背景颜色
fig = plt.figure(figsize=(6, 4), dpi=100, facecolor='#11aa11')

# 绘制正弦曲线
x = np.linspace(0, 2*np.pi) 
y = np.sin(x)   
plt.plot(x,y)

# 设置网格线
plt.grid() 
plt.show()
# 保存图片
fig.savefig('images/2-3.png')

你可能感兴趣的:(matplotlib,python,开发语言)