Matplotlib

Eric讨论 | 贡献2021年7月2日 (五) 02:31的版本

Matplotlib是Python的一个绘图库。使用它可以方便的绘制各种图形,如直方图,散点图,3D图等。常用于数据可视化。

简介

时间轴

安装

使用pip安装

Matplotlib官方发行版在pypi上发行,所以可使用pip安装:

python -m pip install -U pip
python -m pip install -U matplotlib

通过第三方安装

通过源代码安装

了解更多 >> matplotlib:安装指南



基本图形

折线图

散点图

设置

matplotlib显示中文

由于matplotlib字体库没有中文字体,所以显示乱码。需要设置指定中文字体。先下载ttf格式字体。

动态设置加载设置:

方法一:在每一处使用到中文字体的地方,都加上一个字体属性:
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname='NotoSansCJKsc-Regular.otf', size=16)   #字体文字所在位置

plt.plot([0, 1], [-1, 2])
plt.title('中文标题', fontproperties=font)
plt.show()

方法二:在文件开始动态处设置:
#查看文件配置文件地址,而字体文件一般再matplotlibrc同级目录下fonts/ttf中
import matplotlib as mpl
print(mpl.matplotlib_fname())

#复制中文字体ttf格式到matplotlib字体库
!cp lib/Typeface/SourceHanSansCN-Bold.ttf lib/Typeface/SourceHanSansCN-Normal.ttf /opt/conda/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf
!ls /opt/conda/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf

#清空matplotlib缓存文件
!rm -rf ~/.cache/.matplotlib

#打印所有matplotlib已加载的字体
import matplotlib.font_manager
a = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])
for i in a:
    print(i)

#现在,在文件开始处动态设置为该中文字体,就可以使用中文了。
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
plt.rcParams['font.sans-serif'] = ['Source Han Sans CN'] 
#plt.rcParams['axes.unicode_minus'] = False
plt.plot((-1,2,3),(-2,-1,5))
plt.title("标题-简体中文")
plt.ylabel("x轴")
plt.xlabel("y轴") 
plt.show()

永久设置:

annotate()文本注释

资源

官网

相关网站

书籍

  • 《Python编程从入门到实践》

相关文章