提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
1.基本图形画法
1.折线图
plot(x,y,fmt,scalex=True,scaley=True,data=None,label=None,*args,**kwargs)
2.柱形图
bar(y,width,height=0.8,bottom=None,aligh='center',data=None,
tick_label=None,yerr=None,error_kw=None,**kwargs)
3. 条形图
barh(y,width,height=0.8, left=None,align='center',*,**kwargs)
4.堆积面积图
stackplot(x,y,labels=(),baseline='zero',data=None,*args,**kwargs)
5.直方图
hist(x,bins=None,range=None,density=None,weights=Noe,cumulative=False,
bottom=None,histtype='bar',align='mid',orientation='vertical',rwidth=None,
log=False,label=None,stacked=False,normed=None,*,data=None,**kwargs)
6.饼图
pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False,
labeldistance=1.1,startangle=None,radius=None,counterclock=True,
wedgeprops=None,textprops=None,center=(0,0),frame=False,rotatelabels=False,
*,data=None)
7.散点图
scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,
vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,
edgecolord=None,*,plotnonfinite=Falae,data=None,**kwargs)
2.图标辅助因素的制定
1.设置x坐标轴的标签
xlabel(xlabel,fontdict=None,labelpad=None,**kwargs)
2.设置y坐标轴的标签
ylabel(ylabel,fontdict=None,labelpad=None,**kwargs)
3.设置刻度范围
xlim(left=None,right=None,emit=True,auto=False,*,xmin=None,xmax=None)
4.设置刻度标签
xticks(ticks=None,labels=None,**kwargs)
5.添加标题
title(label,fontdict=None,loc='center',pad=None,**kwargs)
6.添加图列
legend(handles,labels,loc,bbox_to_anchor,ncol,title,shadow,fancybox,*args,
**kwargs)
7.显示网格
grid(b=None,which='major',axis='both',**kwargs)
8.绘制水平参考线
axhline(y=0,xmin=0,xmax=1,linestyle='-',**kwargs)
9.绘制垂直参考线
axvline(x=0,ymin=0,ymax=1,linestyle='-',**kwargs)
10.绘制水平参考区域
axhspan(ymin,ymax,xmin=0,xmax=1,**kwargs)
11.绘制垂直查看区域
axvspan(xmin,xmax,ymin=0,ymax=1,**kwargs)
12.添加指向型注释文本
annotate(s,xy,*args,**kwargs)
13.添加物指向型文本
text(x,y,s,fontdict=None, **kwargs)
14.添加自定义表格 table(cellText=None,cellColours=None,cellLoc='right',colWidths=None,
rowLabels=None,rowLabels=None,rowColours=None,rowLoc='left',
colLabels=None,colColurs=None,colLoc='center',loc='bottom',bbox=None,
edges='closed',**kwargs)
3.图表样式美化
-
颜色和线条样式设置:
- 使用
color
参数设置线条颜色,如plt.plot(x, y, color='red')
。 - 使用
linestyle
参数设置线条样式,如plt.plot(x, y, linestyle='--')
。 - 使用
marker
参数设置数据点标记符号,如plt.plot(x, y, marker='o')
。
- 使用
-
字体和标签设置:
- 使用
fontsize
参数设置字体大小,如plt.xlabel('X Label', fontsize=12)
。 - 使用
fontweight
参数设置字体粗细,如plt.title('Title', fontweight='bold')
。 - 使用
fontstyle
参数设置字体样式,如plt.ylabel('Y Label', fontstyle='italic')
。
- 使用
-
背景和边框设置:
- 使用
plt.figure()
函数设置图表的背景色,如plt.figure(facecolor='lightgray')
。 - 使用
plt.grid()
函数添加网格线,如plt.grid(color='gray', linestyle='--', linewidth=0.5)
。 - 使用
plt.gca().spines
方法设置边框样式,如plt.gca().spines['top'].set_visible(False)
。
- 使用
-
布局和尺寸设置:
- 使用
plt.figure(figsize=(width, height))
设置图表的大小,如plt.figure(figsize=(8, 6))
。 - 使用
plt.subplots_adjust()
函数调整图表的布局,如plt.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9)
。 - 绘制单子图subplot(nrows,ncols,index,projection,polar,sharex,sharey,label,**kwargs)
- 使用
4.绘制多子图
subplots(nrows=1,ncols=1msharex=False,sharey=False,squeeze=True,
subplot_kw=None,grudspec_kw=None,**fig_kw)
-
图例和注释设置:
- 使用
plt.legend()
函数添加图例,如plt.legend(loc='upper right')
。 - 使用
plt.annotate()
函数添加注释,如plt.annotate('Max Value', xy=(x_max, y_max), xytext=(x_max-2, y_max+500), arrowprops=dict(arrowstyle='->'))
。
- 使用
一.基本图形画法
1.折线图
plot(x,y,fmt,scalex=True,scaley=True,data=None,label=None,*args,**kwargs)
- x: 代表x轴上的数值或者数据点
- y: 代表y轴上的数值或者数据点
- fmt: 代表格式字符串,用于指定绘图的颜色和线条样式,例如'r-'表示红色实线
- scalex: 代表是否根据x数据自动缩放x轴
- scaley: 代表是否根据y数据自动缩放y轴
- data: 代表可选参数,用于传入数据,如果提供了data参数,则x和y可以是列名,而不是直接的数据
- label: 代表可选参数,用于指定一个标签,用于图例
- *args: 代表可变数量的非关键字参数,用于传递给底层的绘图函数
- **kwargs: 代表可变数量的关键字参数,用于传递给底层的绘图函数
2.柱形图
bar(y,width,height=0.8,bottom=None,aligh='center',data=None,tick_label=None,yerr=None,error_kw=None,**kwargs)
- y: 必填参数,表示条形图的高度(即y轴的数值)。
- width: 必填参数,表示条形图的宽度(即x轴的数值)。
- height: 可选参数,默认值为0.8,表示条形的高度。
- bottom: 可选参数,默认值为None,表示条形图的底部位置,如果为None则默认为0。
- align: 可选参数,默认值为'center',表示条形图的对齐方式,可以选择'center', 'edge'或者'left'。
- data: 可选参数,默认值为None,表示数据集。
- tick_label: 可选参数,默认值为None,表示条形图的刻度标签。
- yerr: 可选参数,默认值为None,表示条形图的误差线。
- error_kw: 可选参数,默认值为None,表示条形图误差线的样式。
- **kwargs:可选参数,表示其他自定义参数,例如颜色、标签等。
3.条形图
barh(y,width,height=0.8, left=None,align='center',*,**kwargs)
- y: 必填参数,表示条形图的y轴坐标。
- width: 必填参数,表示条形图的宽度(x轴的数值)。
- height: 可选参数,默认值为0.8,表示条形图的高度。
- left: 可选参数,默认值为None,表示条形图的左边界位置,如果为None则默认为0。
- align: 可选参数,默认值为'center',表示条形图的对齐方式,可以选择'center', 'edge'或者'left'。
- **kwargs:可选参数,表示其他自定义参数,例如颜色、标签等。
4.堆积面积图
stackplot(x,y,labels=(),baseline='zero',data=None,*args,**kwargs)
- x: 必填参数,表示堆叠面积图的x轴坐标。
- y: 必填参数,表示每个堆叠区域的y轴数值,可以是一个列表或者二维数组。如果是二维数组,则每一行表示一个堆叠区域。
- labels: 可选参数,默认值为(),表示每个堆叠区域的标签。
- baseline: 可选参数,默认值为'zero',表示堆叠面积图的基线位置。可以选择'zero'或者'sym',分别表示基线在0和对称位置。
- data: 可选参数,默认值为None,表示数据集。
- *args: 可选参数,表示其他自定义的位置参数。
- **kwargs:可选参数,表示其他自定义的关键字参数。
5.直方图
hist(x,bins=None,range=None,density=None,weights=Noe,cumulative=False,
bottom=None,histtype='bar',align='mid',orientation='vertical',rwidth=None,
log=False,label=None,stacked=False,normed=None,*,data=None,**kwargs)
- x: 必填参数,表示输入的数据。
- bins: 可选参数,默认为 None,表示直方图的箱子数量或者箱子边界。
- range: 可选参数,默认为 None,表示箱子范围,可以是一个元组 (min, max)。
- density: 可选参数,默认为 None,如果设为 True,则直方图纵轴表示概率密度。
- weights: 可选参数,默认为 None,表示每个数据点的权重。
- cumulative: 可选参数,默认为 False,如果设为 True,则绘制累积直方图。
- bottom: 可选参数,默认为 None,表示每个条形图的底部位置。
- histtype: 可选参数,默认为 'bar',表示直方图的类型,可以选择 'bar', 'barstacked', 'step' 或 'stepfilled'。
- align: 可选参数,默认为 'mid',表示每个条形图的对齐方式,可以选择 'left', 'mid' 或 'right'。
- orientation: 可选参数,默认为 'vertical',表示直方图的方向,可以选择 'horizontal' 或 'vertical'。
- rwidth: 可选参数,默认为 None,表示每个条形图的宽度。
- log: 可选参数,默认为 False,如果设为 True,则使用对数刻度。
- label: 可选参数,默认为 None,表示直方图的标签。
- stacked: 可选参数,默认为 False,如果设为 True,则绘制堆叠直方图。
- normed: 可选参数,默认为 None,已弃用,请使用 density 代替。
- data: 可选参数,默认为 None,表示数据集。
- *args: 其他自定义的位置参数。
- **kwargs: 其他自定义的关键字参数。
6.饼图
pie(x,explode=None,labels=None,autopct=None,pctdistance=0.6,shadow=False,
labeldistance=1.1,startangle=None,radius=None,counterclock=True,
wedgeprops=None,textprops=None,center=(0,0),frame=False,rotatelabels=False, *,data=None)
- x: 必填参数,表示饼图的数据。
- explode: 可选参数,默认为 None,表示每个扇区距离饼图中心的偏移量。
- labels: 可选参数,默认为 None,表示每个扇区的标签。
- autopct: 可选参数,默认为 None,表示扇区内显示的数据格式,可以使用字符串格式化或者一个函数。
- pctdistance: 可选参数,默认为 0.6,表示百分比标签与圆心的距离。
- shadow: 可选参数,默认为 False,如果设为 True,则绘制阴影效果。
- labeldistance: 可选参数,默认为 1.1,表示标签与圆心的距离。
- startangle: 可选参数,默认为 None,表示饼图的起始角度。
- radius: 可选参数,默认为 None,表示饼图的半径。
- counterclock: 可选参数,默认为 True,如果设为 False,则饼图按顺时针方向绘制。
- wedgeprops: 可选参数,默认为 None,表示扇区的属性,如颜色、边界线样式等。
- textprops: 可选参数,默认为 None,表示扇区内文本的属性,如字体大小、颜色等。
- center: 可选参数,默认为 (0,0),表示饼图的中心位置。
- frame: 可选参数,默认为 False,如果设为 True,则绘制饼图的轴线和轴标签。
- rotatelabels: 可选参数,默认为 False,如果设为 True,则扇区标签旋转到指定角度。
- data: 可选参数,默认为 None,表示数据集。
- *args: 其他自定义的位置参数。
- **kwargs: 其他自定义的关键字参数。
7.散点图
scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None, vmin=None,vmax=None,alpha=None,linewidths=None,verts=None, edgecolord=None,*,plotnonfinite=Falae,data=None,**kwargs)
- x: 必填参数,表示散点图的 x 轴数据。
- y: 必填参数,表示散点图的 y 轴数据。
- s: 可选参数,默认为 None,表示散点的大小。
- c: 可选参数,默认为 None,表示散点的颜色。
- marker: 可选参数,默认为 None,表示散点的标记形状。
- cmap: 可选参数,默认为 None,表示颜色映射表。
- norm: 可选参数,默认为 None,表示颜色映射表的归一化方式。
- vmin: 可选参数,默认为 None,表示颜色映射表的最小值。
- vmax: 可选参数,默认为 None,表示颜色映射表的最大值。
- alpha: 可选参数,默认为 None,表示散点的透明度。
- linewidths: 可选参数,默认为 None,表示散点的线宽。
- verts: 可选参数,默认为 None,表示散点的顶点坐标。
- edgecolor: 可选参数,默认为 None,表示散点的边界线颜色。
- plotnonfinite: 可选参数,默认为 False,如果设为 True,则在数据中存在非法值时绘制 NaN 或 INF 的标记。
- data: 可选参数,默认为 None,表示数据集。
- *args: 其他自定义的位置参数。
- **kwargs: 其他自定义的关键字参数。
二.图标辅助因素的制定
1.设置x坐标轴的标签
xlabel(xlabel,fontdict=None,labelpad=None,**kwargs)
- xlabel: 必填参数,表示 x 轴标签的文本内容。
- fontdict: 可选参数,默认为 None,表示字体属性。
- labelpad: 可选参数,默认为 None,表示标签与轴线之间的距离。
- **kwargs: 其他自定义的关键字参数。
2.设置y坐标轴的标签
ylabel(ylabel,fontdict=None,labelpad=None,**kwargs)
- label: 必填参数,表示 y 轴标签的文本内容。
- fontdict: 可选参数,默认为 None,表示字体属性。
- labelpad: 可选参数,默认为 None,表示标签与轴线之间的距离。
- **kwargs: 其他自定义的关键字参数。
3.设置刻度范围
xlim(left=None,right=None,emit=True,auto=False,*,xmin=None,xmax=None)
- left: 可选参数,表示 x 轴的左边界值。
- right: 可选参数,表示 x 轴的右边界值。
- emit: 可选参数,默认为 True,表示是否触发轴范围变化事件。
- auto: 可选参数,默认为 False,表示是否根据数据自动计算轴范围。
- xmin: 可选参数,表示 x 轴的最小值。
- xmax: 可选参数,表示 x 轴的最大值。
4.设置刻度标签
xticks(ticks=None,labels=None,**kwargs)
- ticks: 可选参数,表示要显示的刻度位置。
- labels: 可选参数,表示刻度标签的文本内容。
- **kwargs: 其他自定义的关键字参数。
5.添加标题
title(label,fontdict=None,loc='center',pad=None,**kwargs)
- label: 必填参数,表示图表标题的文本内容。
- fontdict: 可选参数,默认为 None,表示字体属性。
- loc: 可选参数,默认为 'center',表示标题的位置。可以是 'center'、'left' 或 'right'。
- pad: 可选参数,默认为 None,表示标题与图表之间的距离。
- **kwargs: 其他自定义的关键字参数。
6.添加图列
legend(handles,labels,loc,bbox_to_anchor,ncol,title,shadow,fancybox,*args,**kwargs)
- handles: 必填参数,表示要显示在图例中的对象。
- labels: 必填参数,表示与 handles 中对象对应的标签。
- loc: 可选参数,表示图例的位置。常用取值有 'best'、'upper right'、'upper left'、'lower left'、'lower right' 等。
- bbox_to_anchor: 可选参数,表示图例的锚点位置。
- ncol: 可选参数,表示图例的列数。
- title: 可选参数,表示图例的标题。
- shadow: 可选参数,表示是否给图例添加阴影。
- fancybox: 可选参数,表示是否给图例框添加圆边和背景色。
- *args: 其他自定义的位置参数。
- **kwargs: 其他自定义的关键字参数。
7.显示网格
grid(b=None,which='major',axis='both',**kwargs)
- b: 可选参数,默认为 None,表示是否显示网格线。如果设置为 True,则显示网格线;如果设置为 False,则不显示网格线。
- which: 可选参数,默认为 'major',表示要显示哪些刻度的网格线。可以是 'major'(主刻度)、'minor'(次刻度)或 'both'(主刻度和次刻度)。
- axis: 可选参数,默认为 'both',表示要在哪个轴上显示网格线。可以是 'x'(仅 x 轴)、'y'(仅 y 轴)或 'both'(x 轴和 y 轴)。
- **kwargs: 其他自定义的关键字参数。
8.绘制水平参考线
axhline(y=0,xmin=0,xmax=1,linestyle='-',**kwargs)
- y: 必填参数,表示水平线的 y 坐标位置。
- xmin: 可选参数,默认为 0,表示水平线的起始 x 坐标位置。
- xmax: 可选参数,默认为 1,表示水平线的结束 x 坐标位置。
- linestyle: 可选参数,默认为 '-',表示水平线的线型。常用取值有 '-'(实线)、'--'(虚线)、':'(点线)等。
- **kwargs: 其他自定义的关键字参数
9.绘制垂直参考线
axvline(x=0,ymin=0,ymax=1,linestyle='-',**kwargs)
- x: 必填参数,表示垂直线的 x 坐标位置。
- ymin: 可选参数,默认为 0,表示垂直线的起始 y 坐标位置。
- ymax: 可选参数,默认为 1,表示垂直线的结束 y 坐标位置。
- linestyle: 可选参数,默认为 '-',表示垂直线的线型。常用取值有 '-'(实线)、'--'(虚线)、':'(点线)等。
- **kwargs: 其他自定义的关键字参数。
10.绘制水平参考区域
axhspan(ymin,ymax,xmin=0,xmax=1,**kwargs)
- ymin: 必填参数,表示水平带状区域的起始 y 坐标位置。
- ymax: 必填参数,表示水平带状区域的结束 y 坐标位置。
- xmin: 可选参数,默认为 0,表示水平带状区域的起始 x 坐标位置。
- xmax: 可选参数,默认为 1,表示水平带状区域的结束 x 坐标位置。
- **kwargs: 其他自定义的关键字参数。
11.绘制垂直查看区域
axvspan(xmin,xmax,ymin=0,ymax=1,**kwargs)
- xmin: 必填参数,表示垂直带状区域的起始 x 坐标位置。
- xmax: 必填参数,表示垂直带状区域的结束 x 坐标位置。
- ymin: 可选参数,默认为 0,表示垂直带状区域的起始 y 坐标位置。
- ymax: 可选参数,默认为 1,表示垂直带状区域的结束 y 坐标位置。
- **kwargs: 其他自定义的关键字参数。
12.添加指向型注释文本
annotate(s,xy,*args,**kwargs)
- s: 必填参数,表示要添加的文本内容。
- xy: 必填参数,表示文本注释的位置,是一个元组
(x, y)
。 - xytext: 可选参数,默认与
xy
参数相同,表示文本注释的文本起始位置,是一个元组(x, y)
。 - arrowprops: 可选参数,是一个字典类型的值,表示箭头的属性。常用属性包括
arrowstyle
(箭头的样式)、connectionstyle
(连接线的样式)、color
(颜色)、linewidth
(线宽)等。 - **kwargs: 其他自定义的关键字参数。
13.添加物指向型文本
text(x,y,s,fontdict=None, **kwargs)
- s:必填,文本内容
- fontdict: 可选参数,是一个字典类型的值,表示文本的字体属性,例如
{'family': 'serif', 'color': 'darkred', 'weight': 'normal', 'size': 16}
。 - **kwargs: 其他自定义的关键字参数。
14.添加自定义表格
table(cellText=None,cellColours=None,cellLoc='right',colWidths=None,
rowLabels=None,rowLabels=None,rowColours=None,rowLoc='left',
colLabels=None,colColurs=None,colLoc='center',loc='bottom',bbox=None,
edges='closed',**kwargs)
- cellText: 二维数组,表示表格中的文本内容。
- cellColours: 二维数组,用于设置单元格的背景颜色。
- cellLoc: 字符串,指定单元格中文本的对齐方式,如 'right'、'left'、'center'。
- colWidths: 一维数组,指定每列的宽度。
- rowLabels: 一维数组,表示每行的标签。
- rowColours: 一维数组,用于设置每行的背景颜色。
- rowLoc: 字符串,指定行标签的位置,如 'left'、'right'。
- colLabels: 一维数组,表示每列的标签。
- colColours: 一维数组,用于设置每列的背景颜色。
- colLoc: 字符串,指定列标签的位置,如 'left'、'right'。
- loc: 字符串,指定表格的位置,如 'top'、'bottom'、'center'。
- bbox: 字典,用于设置表格的边界框样式。
- edges: 字符串,指定表格边框的样式,如 'closed'、'open'。
- **kwargs: 其他自定义的关键字参数。
三.图表样式美化
1.颜色和线条样式设置:
- 使用
color
参数设置线条颜色,如plt.plot(x, y, color='red')
。 - 使用
linestyle
参数设置线条样式,如plt.plot(x, y, linestyle='--')
。 - 使用
marker
参数设置数据点标记符号,如plt.plot(x, y, marker='o')
。
2.字体和标签设置
- 使用
fontsize
参数设置字体大小,如plt.xlabel('X Label', fontsize=12)
。 - 使用
fontweight
参数设置字体粗细,如plt.title('Title', fontweight='bold')
。 - 使用
fontstyle
参数设置字体样式,如plt.ylabel('Y Label', fontstyle='italic')
。
3.背景和边框设置:
- 使用
plt.figure()
函数设置图表的背景色,如plt.figure(facecolor='lightgray')
。 - 使用
plt.grid()
函数添加网格线,如plt.grid(color='gray', linestyle='--', linewidth=0.5)
。 - 使用
plt.gca().spines
方法设置边框样式,如plt.gca().spines['top'].set_visible(False)
。
4.布局和尺寸设置:
-
- 使用
plt.figure(figsize=(width, height))
设置图表的大小,如plt.figure(figsize=(8, 6))
。 - 使用
plt.subplots_adjust()
函数调整图表的布局,如plt.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9)
。 - 绘制单子图subplot(nrows,ncols,index,projection,polar,sharex,sharey,label,**kwargs)
- 使用
nrows
:整数,表示子图的行数。ncols
:整数,表示子图的列数。index
:整数,表示当前子图的索引。从左上角开始,按行优先顺序递增。例如,如果nrows=2
、ncols=3
,则子图索引范围为 1 到 6。projection
:字符串,指定轴的投影方式,用于绘制 3D 图形。如果省略,则使用默认的二维平面投影。polar
:布尔值,表示是否创建极坐标子图。默认为 False。sharex
:布尔值或者子图对象,表示是否共享 x 轴刻度。默认为 False。sharey
:布尔值或者子图对象,表示是否共享 y 轴刻度。默认为 False。label
:字符串,为子图添加标签,用于图例等。**kwargs
:其他可选参数,用于设置子图的属性,如标题、坐标轴范围等。- 4.绘制多子图
-
subplots(nrows=1,ncols=1msharex=False,sharey=False,squeeze=True,
subplot_kw=None,grudspec_kw=None,**fig_kw)
nrows
:整数,表示子图的行数。ncols
:整数,表示子图的列数。sharex
:布尔值或者字符串,表示是否共享 x 轴刻度。默认为 False。如果设置为 True,则所有子图将共享相同的 x 轴刻度。如果设置为 "all",则所有子图将共享第一个子图的 x 轴刻度。sharey
:布尔值或者字符串,表示是否共享 y 轴刻度。默认为 False。如果设置为 True,则所有子图将共享相同的 y 轴刻度。如果设置为 "all",则所有子图将共享第一个子图的 y 轴刻度。squeeze
:布尔值,表示是否挤压子图数组。默认为 True。如果设置为 True,则如果只有一个子图,则返回的数组将是一维的;如果有多个子图,则返回的数组将是二维的。如果设置为 False,则无论有多少子图,返回的数组都将是二维的。subplot_kw
:字典,用于设置每个子图的属性。例如,可以通过传入{'projection': 'polar'}
来设置所有子图为极坐标子图。gridspec_kw
:字典,用于设置子图的网格规格属性。例如,可以通过传入{'width_ratios': [1, 2, 1]}
来设置每列的宽度比例。
5.图例和注释设置:
- 使用
plt.legend()
函数添加图例,如plt.legend(loc='upper right')
- 使用
plt.annotate()
函数添加注释,如plt.annotate('Max Value', xy=(x_max, y_max), xytext=(x_max-2, y_max+500), arrowprops=dict(arrowstyle='->'))
。