Matplotlib:修订间差异
无编辑摘要 |
无编辑摘要 |
||
| 第42行: | 第42行: | ||
|饼图 | |饼图 | ||
|[https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html plt.pie()] | |[https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.pie.html plt.pie()] | ||
|常用参数:<br \><code>x</code> 数据,一维结构。<br \><code>labels</code> 标签,列表类型。为每个扇形添加标签。<br \><code>autopct</code> 数值格式,字符串或函数类型。如'%1.1f%%'设置1位小数。<br \><code>explode</code> 突出显示,列表类型。将某些扇形偏移出来。<br \><code>textprops</code> 字体样式,字典类型。设置字体,字体大小等。 | |常用参数:<br \><code>x</code> 数据,一维结构。<br \><code>labels</code> 标签,列表类型。为每个扇形添加标签。<br \><code>autopct</code> 数值格式,字符串或函数类型。如'%1.1f%%'设置1位小数。<br \><code>explode</code> 突出显示,列表类型。将某些扇形偏移出来。<br \><code>textprops</code> 字体样式,字典类型。设置字体,字体大小等。<br \><code>wedgeprops</code> 扇形样式,字典。设置扇形间隔的宽度、颜色等。 | ||
| <syntaxhighlight lang="python" > | |||
import matplotlib.pyplot as plt | |||
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs'] | |||
sizes = [15, 30, 45, 10] | |||
explode = | |||
plt.pie(sizes, | |||
explode=[0, 0.1, 0, 0], #第二个 | |||
labels=labels, | |||
autopct='%1.1f%%') | |||
</syntaxhighlight> | |||
|} | |} | ||
2021年8月19日 (四) 11:20的版本
Matplotlib是Python的一个绘图库。使用它可以方便的绘制各种图形,如直方图,散点图,3D图等。常用于数据可视化。
简介
时间轴
安装
Matplotlib官方在pypi上发行,所以可使用pip安装:
pip install -U matplotlib
一些科学计算包,已经包含了Matplotlib,可以不安装。如Anaconda,Canopy和ActiveState等科学计算包。
图表
绘图函数基本都在pyplot模块中,一般导入方式:import matplotlib.pyplot as plt,下面的plt指的是matplotlib.pyplot模块。
基本图表
| 名称 | 函数 | 描述 | |
|---|---|---|---|
| 折线图 | plt.plot() | ||
| 散点图 | plt.scatter() | ||
| 条形图 | plt.bar() | ||
| 直方图 | plt.hist() | ||
| 饼图 | plt.pie() | 常用参数:x 数据,一维结构。labels 标签,列表类型。为每个扇形添加标签。autopct 数值格式,字符串或函数类型。如'%1.1f%%'设置1位小数。explode 突出显示,列表类型。将某些扇形偏移出来。textprops 字体样式,字典类型。设置字体,字体大小等。wedgeprops 扇形样式,字典。设置扇形间隔的宽度、颜色等。
|
import matplotlib.pyplot as plt
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
sizes = [15, 30, 45, 10]
explode =
plt.pie(sizes,
explode=[0, 0.1, 0, 0], #第二个
labels=labels,
autopct='%1.1f%%')
|
颜色
设置
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编程从入门到实践》