MATPLOTLIB

基本导入

简单实例

简单图形

 

pylot功能

案例图片1

坐标系实例

案例图片2

 

 

画布和坐标系

导入库、中文乱码等

导入库、中文乱码、在Jupyter Notebook中展示

 

建立画布(容器)

 

建立坐标系

用add_subplot函数

先建立画布,再建立坐标系。

 

1352图片2

用plt.subplot2grid函数

不需要建立画布,直接建立坐标系。

 

1353图片1

1353图片2

 

用plt.subplot函数(常用)

与plt.subplot2grid函数类似,plt.suplot也是plt库的一个函数。

1354图片2

用plt.subplots函数

subplot2grid、subplot函数每次只返回一个坐标系,而subplots函数一次可以返回多个坐标系。

subplots_1355图片1

subplots_1355图片2

总结:add_subplot属于对象式编程;plt.subplot2grid 、plt.subplot、 ply.subplots属于函数式编程。

图表的基本设置

坐标系所拥有的属性如下表

属性含义
facecolor外观
spine边框线
axis坐标轴
axis_label坐标轴标签
tick刻度
tick_label刻度标签
grid网格
title标题
legend图例

x/y轴的标题、大小、颜色

xlabel_1361图片1

x/y刻度、范围

xyticks_1362图片1

坐标轴的隐藏

axisoff_1364坐标轴不显示

网格线

pltGrid_1371网络线

图例

图例

loc参数如下:

0: 'best' 参数默认是'best',即自动寻找图例的最佳位置。

2: 'upper left' 9: 'upper center' 1: 'upper right'

6: 'center left' 10: 'center' 7: 'center right' 或者 5: 'right'

3: 'lower left' 8: 'lower center' 4: 'lower right'

图表标题

图表标题

数据标签

x,y 表示标签的位置

str 表示要显示的字符或数值

ha horizontalalignment表示水平对齐方式 ,可以填 ‘center’ , ‘right’ ,‘left’ 等

va verticalalignment表示垂直对齐方式 ,可选 ‘center’ ,‘top’ , ‘bottom’,‘baseline’ 等

fontsize 标签字体大小

rotation 表示标签的旋转角度,以逆时针计算,取整

总结:plt.text()函数只是针对具体的某一个点(x,y)显示数据(str),如果要整个图表显示数据标签,则需要利用for进行遍历。

 

数据标签

图表注解

s 注释的文本内容

xy 注释的位置

xytext 注释的文本的显示位置

arrowprops 设置箭头相关参数,颜色、箭头类型等

facecolor 箭头的颜色;arrowstyle箭头的类型 -,->,<-,<->,<,_,空格,fancy,simple,wedge

图表注释

数据表

数据表

 

拆线图 plot

参数

marker符号

标记符号描述
"."m00
","m01像素点
"o"m02实心圆
"v"m03下三角
"^"m04上三角
"<"m05左三角
">"m06右三角
"1"m07下三叉
"2"m08上三叉
"3"m09左三叉
"4"m10右三叉
"8"m11八角形
"s"m12正方形
"p"m13五边形
"P"m23加号(填充)
"*"m14星号
"h"m15六边形 1
"H"m16六边形 2
"+"m17加号
"x"m18乘号 x
"X"m24乘号 x (填充)
"D"m19菱形
"d"m20瘦菱形
"|"m21竖线
"_"m22横线
0 (TICKLEFT)m25左横线
1 (TICKRIGHT)m26右横线
2 (TICKUP)m27上竖线
3 (TICKDOWN)m28下竖线
4 (CARETLEFT)m29左箭头
5 (CARETRIGHT)m30右箭头
6 (CARETUP)m31上箭头
7 (CARETDOWN)m32下箭头
8 (CARETLEFTBASE)m33左箭头 (中间点为基准)
9 (CARETRIGHTBASE)m34右箭头 (中间点为基准)
10 (CARETUPBASE)m35上箭头 (中间点为基准)
11 (CARETDOWNBASE)m36下箭头 (中间点为基准)
"None", " " or "" 没有任何标记
'$...$'m37渲染指定的字符。例如 "$f$" 以字母 f 为标记。

拆线图案例

拆线图案例

 

普通柱形图 bar

参数

x:柱形图的 x 轴数据。

height:柱子的高度。

width:柱子的宽度。

bottom:底座的 y 坐标,默认 0。

align:柱形图与 x 坐标的对齐方式,

'center' 以 x 位置为中心,这是默认值。 'edge':将柱形图的左边缘与 x 位置对齐。要对齐右边缘的条形,可以传递负数的宽度值及 align='edge'。

color :柱子颜色

edgecolor:柱子边缘的颜色

案例

 

普通柱形图案例

 

簇状柱形图 bar

只需要调整柱子的位置即可。

簇状柱形图案例

堆积柱形图

堆积柱形图案例

条形图 barh

参数

案例

条形图案例

 

散点图 scatter

参数

案例

条形图案例

气泡图 scatter

气泡图案例

面积图(堆叠图)

参数

案例

堆叠图案例

树地图 squarify.plot()

树地图学用来表示同一等级中不同类别的占比关系,使用的是squarify库,先安装pip install squarify

参数

案例

堆叠图案例

 

 

雷达图 polar

参数

案例

雷达图案例

箱形图 boxplot

参数

案例

堆叠图案例

饼图 pie

参数

案例

饼图案例

圆环图 pie

在饼图的基础上调整wedgeprops参数即可实现圆环图。

圆环图案例

热力图 imshow

参数

cmap的所有可选值都封装在plt.cm里,在Jupyter Notebook中输入plt.cm,然后按Tab键就可以看到。

案例

热力图案例

绘制水平线和垂直线 axhline/axvline

参数

案例

水平线和垂直线案例

组合图表

折线图+折线图

将两条及以上折线画在同一个坐标系中。

折线图+折线图案例

折线图+柱形图

折线图+柱形图案例

双y轴图表 twinx

流程:先建立坐标系,然后绘制主坐标轴上的图表,再调用plt.twinx方法,最后绘制次坐标轴上的图表。

双y轴图表案例

双x轴图表 twiny

流程与双y轴图表一样,在实际业务中很少使用。

绘图样式设置

默认样式 default

默认样式

bmh

bmh样式

classic

classic

dark_background

classic

fast

fast

fivethirtyeight

fivethirtyeight

ggplot

ggplot

grayscale

grayscale

seaborn-bright

seaborn-bright