Matplotlib:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第4行: | 第4行: | ||
===时间轴=== | ===时间轴=== | ||
===安装=== | ===安装=== | ||
Matplotlib官方在[https://pypi.org/project/matplotlib/ pypi]上发行,所以可使用[[pip]]安装: | |||
pip install -U matplotlib | |||
一些科学计算包,已经包含了Matplotlib,可以不安装。如[[Anaconda]],[https://www.enthought.com/products/canopy/ Canopy]和[https://www.activestate.com/activepython/downloads ActiveState]等科学计算包。 | |||
{{了解更多 | {{了解更多 | ||
|[https://matplotlib.org/users/installing.html matplotlib:安装指南] | |[https://matplotlib.org/users/installing.html matplotlib:安装指南] | ||
|[https://pypi.org/project/matplotlib/ PyPi:matplotlib] | |||
|[https://matplotlib.org/stable/users/installing_source.html#install-from-source matplotlib:从源代码安装] | |||
}} | }} | ||
2021年8月18日 (三) 10:39的版本
Matplotlib是Python的一个绘图库。使用它可以方便的绘制各种图形,如直方图,散点图,3D图等。常用于数据可视化。
简介
时间轴
安装
Matplotlib官方在pypi上发行,所以可使用pip安装:
pip install -U matplotlib
一些科学计算包,已经包含了Matplotlib,可以不安装。如Anaconda,Canopy和ActiveState等科学计算包。
基本图形
折线图
散点图
设置
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编程从入门到实践》