文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python--matplotlib(持续更新)

2023-08-31 10:45

关注

目录


    Matplotlib,全称“Matlab plotting library”,是Python中的一个库,它是数字的-NumPy库的数学扩展,是Python中绘制二维和三维图表的数据可视化工具
    Matplotlib的绘画接口分为三种:pyplot,面向当前图;axes,面向对象;Pylab,沿用 matlab 风格。
    Matplotlib中的所有内容都按层次结构组织,层次结构的顶部是由matplotlib提供的matplotlb“状态机环境”——pyplot模块,仅用于图形创建等少数功能,用户显式创建并跟踪图形和轴对象。
    层次结构的下一层是面向对象界面的第一层,在此级别,使用pyplot创建图形,通过这些图形可以创建一个或多个轴对象,使用基础函数将绘图元素(线条、图像、文本等)添加到当前图形中的当前轴。


 

格式调整 & 自定义设置

# 导入matplotlib库中的pyplotimport matplotlib as mplimport matplotlib.pyplot as plt# 解决中文乱码,可自行修改期望字体plt.rcParams['font.sans-serif']='SimHei'mpl.rcParams['font.family']=[Heiti SC]# 解决负号无法显示的问题plt.rcParams['axes.unicode_minus']=False# 将图表以矢量图格式显示,提高清晰度%config InlineBackend.figure_format = 'svg'# 提高dpi,以提高图片清晰度(dpi到三百以上,效果会明显变化)# 也可在设置figure时设置dpimpl.rcParams['figure.dpi']=300# 获取figure尺寸,默认6.4 inch,4.8 inchplt.rcParams.get('figure.figsize')# 全局设置输出图片大小的宽m和高nplt.rcParams['figure.figsize']=(m,n)# 获取字体大小,默认10.0 & 设置字体大小为kplt.rcParams.get('font.size')plt.rcParams['font.size']=k# 图画面板调整为白色rc={'axes.facecolor':'white','savefig.facecolor':'white'}mpl.rcParams.update(rc) #一次更新多个值# 允许输出数学公式mpl.rcParams['text.usetex']=True# Figure自动调整格式plt.rcParams['figure.constrained_layout.use']=True# 隐藏坐标系,二维三维均可plt.axis('off')# 三维坐标轴比例伸缩ax.get_proj = lambda: np.dot(Axes3D.get_proj(ax), np.diag([1, 1, 2, 2]))# 去除白边# bbox_inches = 'tight' 可去除部分白边# pad_inches 可正可负,减小时会放大图片在画布上的占比,以达到减少白边的效果savefig(bbox_inches = 'tight',pad_inches = -1.7)

 

(一)后端资源管理

1.内存或显示处理

1.1 matplotlib.pyplot.show()

显示当前figure对象

jupyter notebook中,不使用show()函数也可以正常运行,会显示图片的格式和图片;使用show()函数会只显示图片

可以认为大部分matplotlib函数都是在“暂存”的图片上进行处理,show()函数会把“暂存”的图片显示出去,然后就没有“暂存”图片了,故大部分操作应在show函数之前完成

 

1.2 matplotlib.pyplot.close()

关闭figure window对象,如果没有指定,则指当前figure window对象

关闭所有 figure windowsplt.close('all')

 

1.3 matplotlib.pyplot.get_fignums()

查询当前的所有图像编号
 

2.clear,get和set

2.1 matplotlib.pyplot.clf()

clf --> clean current figure --> 清除当前figure对象
清除当前 figure 中的活动的axes,但其他axes保持不变
 

2.2 matplotlib.pyplot.cla()

cla --> clean current axes --> 清除当前Axes对象
清除当前figure的所有axes,但是不关闭这个window,所以能继续复用于其他的plot。

创建太多的 figure 对象会引起警告
故推荐只创建一个 figure 对象,在画下一个图之前,使用 plt.clf() 清理掉 axes,这样可以复用 figure

 

2.3 matplotlib.pyplot.gcf()

gcf --> get current figure --> 获取当前figure对象
 

2.4 matplotlib.pyplot.gca()

gca --> get current axes --> 获取当前Axes对象
 

2.5 matplotlib.pyplot.scf(fig=fig)

scf --> set current figure --> 设置当前figure对象
 

2.6 matplotlib.pyplot.sca(ax=ax1)

sca --> set current axes --> 设置当前Axes对象
 

(二)matplotlib.pyplot提供的基本画图函数

1.plt.title(str, fontsize, fontweight, fontstyle, verticalalignment, horizontalalignment, rotation, alpha, backgroundcolor, bbox)

添加图形内容的
 
参数:
(1)fontsize:设置字体大小

(2)fontweight:设置字体粗细

semibold:半粗体;bold:粗体

(3)fontstyle:设置字体类型

italic:斜体;oblique:倾斜

(4)verticalalignment:设置水平对齐方式

(5)horizontalalignment:设置垂直对齐方式

(6)rotation:旋转角度

(7)alpha:透明度,参数值0至1之间
(8)backgroundcolor:背景颜色
(9)bbox:给增加外框,包含参数:

2.plt.xlim(xmin, xmax),plt.ylim()

设置 x,y 轴的数值显示范围
 
参数:
xmin,xmax:x轴上的最小值和最大值

 

3.plt.xlabel(str, fontsize, fontweight, fontstyle, verticalalignment, horizontalalignment, rotation, alpha, backgroundcolor, bbox),plt.ylabel()

设置x,y轴的标签文本
 
参数:
(1)fontsize:同上
(2)fontweight:同上
(3)fontstyle:同上
(4)verticalalignment:距离坐标轴的位置

(5)horizontalalignment:同上
(6)rotation:同上
(7)alpha:同上
(8)backgroundcolor:同上
(9)bbox:同上

 

4.plt.grid(ls, color)

绘制刻度线的辅助网格线
 
参数:
(1)ls:linestyle,线型
(2)color:颜色

 

5.plt.axhline(y, xmin, xmax, c, ls, lw, label),plt.axhline(x, ymin, ymax, c, ls, lw, label)

绘制平行于x轴额度水平参考线 / 绘制垂直于x轴额度竖直参考线
 
参数:
(1)y:水平参考线的出发点,缺省为0
(2)xmin:参考线的起始位置,缺省为0
(2)xmax:参考线的终止位置,缺省为1
(2)c:color,颜色
(3)ls:linestyle,线型
(4)lw:linewidth,线宽
(5)label:标签

 

6.plt.axhspan(ymin, ymax ,facecolor, alpha),plt.axvspan(xmin, xmax ,facecolor, alpha)

绘制平行于x轴的参考区域 / 绘制垂直于x轴的参考区域
 
参数:
(1)ymin:参考区域的起始位置
(2)ymax:参考区域的终止位置
(3)facecolor:参考区域的填充颜色
(4)alpha:参考区域填充颜色的透明度,[0~1]

 

7.plt.xticks(),plt.yticks()

获取或设置当前x轴或y轴刻度位置和标签。可以理解为设置xilim和ylim一样的效果,但可以指定范围和距离
 

8.plt.annotate()

添加图形内容细节的指向型注释文本

9.plt.bbox()

给增加外框

10.plt.text() / axes.text()

添加图形内容细节的无指向型注释文本(水印)

11.plt.legend()

标示不同图形的文本标签图例

12.plt.table()

向子图中添加表格


 

图解


请添加图片描述

在这里插入图片描述

  1. 一个Figure(图形)对象可以有任何数量的Axes(轴域,一套坐标轴)对象,但为了有用,至少应该有一个
  2. 一个Axes对象包含两个Axis(轴)对象(如果是三维就是三个)

Figure是最大的一个Aritist,它包括整幅图像的所有元素,一个Figure中的各个部分的artists元素如下图所示:
figure中所有的元素类型的artist的属性都可以用ax.set_XXX()和ax.get_XXX()来设置和获取。
在这里插入图片描述
 

(一)

1.元素Artist

有的绘图元素的基类,包含所有在figure中可以被看到的都是一个个artist。当一个figure被渲染的时候,所有的artists都被画在画布canvas上。
在这里插入图片描述

2.matplotlib.pyplot.figure(num, figsize, dpi, facecolor, edgecolor, linewidth, frameon)

创建一个图像,实例化Figure对象,是所有绘图元素的顶层容器,相当于给图提供了一个画布
 
参数:
(1)num:图像编号或名称

(2)figsize:元组,指定figure的宽和高,单位为英寸,缺省为rc figure.figsize,初始(6.4,4.8)
(3)dpi:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为rc figure.dpi,初始72

1英寸等于2.54cm,A4纸是 21x30cm的纸张

(4)facecolor:背景颜色,缺省为’w’
(5)edgecolor:边框颜色,缺省为’w’
(6)linewidth:边缘的线宽
(7)frameon:是否显示边框,缺省为True

figure函数的图像有“颜色”参数,后面如savefig函数也有“颜色参数”,但存储图片时只按照savefig函数的颜色参数,缺省为默认黑白

#创建一个长为10,宽为6的画布import matplotlib.pyplot as pltfig=plt.figure(num='pic2-1.png',figsize = (10,6),dpi=90,facecolor = 'r',edgecolor = 'y')#没有子图的空图形

 

(二)向figure中添加axes

1.函数matplotlib.pyplot.subplot(*args, **kwargs) / matplotlib.pyplot.subplot(nrows, ncols, index, **kwargs)

此方法属于API绘图

先隐式的创建一个画布,然后再在画布上添加一个子图(如果需要多个子图,应反复调用,也可用for循环),该子图是通过均分画布得到的

子图:一个Axes对象,矩形区域,这个矩形是基于figure坐标系统定义的。

返回值:一个Axes对象,按照子图索引,按以行主顺序递增。

  1. 使用subplot() 方法创建子图将删除任何与其重叠的预先存在的子图,而不是共享边界。
  2. 当绘制的子图之间出现遮挡,subplot方法会绘制代码位置靠后的图形

 
参数:
(1)*args(位置参数):三个整数或一个三位数(自动解析成三个整数),用于分别对应 nrows,ncols,index
(1.1)nrows:在画布纵轴上分隔成几个子图,缺省为1
(1.2)ncols:在画布横轴上分隔成几个子图,缺省为1
(1.3)index:子图索引

举例:
plt.subplot(nrows=2, ncols=3, index=5)
=plt.subplot(2, 3, 5)
=plt.subplot(235)

(2)**kwargs(可选):一些涉及子图属性的关键字参数,此方法还接受返回AXIS基类的关键字参数

这个关键字参数和坐标系axes子类的关键词差不多

(2.1)title
(2.2)xlabel,ylabel
(2.3)xlim,ylim
(2.4)frame_on
(2.5)xticks,yticks
(2.6)facecolor
(2.7)projection(关键词参数):坐标系的投影类型

  1. str 是自定义投影的名称。
  2. 不仅可以使用系统已设计好的投影,还可以自定义一个投影变换并使用,注册并调用自定义的投影名称即可。str即自定义投影的名称。

(2.8)polar(关键词参数):布尔值,表示是否启用’polar‘的投影类型*

import numpy as npimport matplotlib.pyplot as plt# 设置数据x = np.arange(0, 3, 0.1)y1 = np.sin(np.pi*x)y2 = np.cos(np.pi*x)#创建图像plt.figure(num='pic2-1.png',figsize = (10,6), dpi=90,facecolor = 'lightgrey', edgecolor = 'azure',linewidth=10)# 绘制第一个子图ax1=plt.subplot(211)  plt.plot(x, y1)  # 绘制第二个子图ax2=plt.subplot(212)  plt.plot(x, y2)#绘制plt.show()

请添加图片描述

似乎subplot函数与show函数生成图片,第一次运行只有格式,第二次运行才出图片;有subplot函数无show函数,第一次运行没有输出,第二次运行才出图片

 

2.函数matplotlib.pyplot.subplots(nrows, ncols, sharex, sharey, squeeze, subplot_kw, gridspec_kw=None, **fig_kw)

此方法为面向对象绘图

创建一张画布和一组子图
 
返回值:一个figure和axes对象的元组,axes对象是由若干个子图ax构成的数组
 
参数:
(1)nrows:在画布纵轴上分隔成几个子图,缺省为1
(2)ncols:在画布横轴上分隔成几个子图,缺省为1
(3)sharex / sharey:是否共x或y轴,缺省为False

(4)squeeze:在返回多个子图时,axes是否要压缩为1维数组,缺省为True
(5)subplot_kw:传入add_subplot函数中的参数,缺省为None
()gridspec_kw:传入网格参数,缺省为None

(6)**fig_kw:创建figure时的其他关键字,具体解释参考上面
(6.1)num
(6.2)figsize
(6.3)dpi
(6.4)facecolor
(6.5)edgecolor
(6.6)linewidth
(6.7)frameon

figure的参数加入subplots函数中,无顺序要求,不需要括号,正常逗号即可

import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 2*np.pi, 400)y = np.sin(x**2)    #创建图形,并创建一个子图#面向对象语法fig, ax = plt.subplots()ax.plot(x, y)plt.show()

请添加图片描述

import numpy as npimport matplotlib.pyplot as pl# 设置数据x = np.arange(0, 3, 0.1)y1 = np.sin(np.pi*x)y2 = np.cos(np.pi*x)y3 = np.sin(2*np.pi*x)y4 = np.cos(2*np.pi*x)#创建figureplt.figure(figsize = (10,6), facecolor = 'r', edgecolor = 'y')#划分子图fig,axes=plt.subplots(2,2)ax1=axes[0,0]ax2=axes[0,1]ax3=axes[1,0]ax4=axes[1,1]# 绘制4个子图ax1.plot(x, y1)ax2.plot(x, y2)ax3.plot(x, y3)ax4.plot(x, y4)plt.show() 

两者对比:

subplot subplots
import matplotlib.pyplot as plt
fig = plt.figure() fig,axes=plt.subplots(2,3)
ax1 = plt.subplot(231) ax1=axes[0,0]
ax2 = plt.subplot(232) ax2=axes[0,1]
ax3 = plt.subplot(233) ax3=axes[0,2]
ax4 = plt.subplot(234) ax4=axes[1,0]
ax5 = plt.subplot(235) ax5=axes[1,1]
ax6 = plt.subplot(236) ax6=axes[1,2]

请添加图片描述

似乎subplots函数有无show函数,都会直接输出格式和图片

 

3.方法matplotlib.pyplot.figure().add_subplot(nrows, ncols, index, **kwargs)

此方法为面向对象绘图

参数:
(1)nrows:在画布纵轴上分隔成几个子图,同上
(2)ncols:在画布横轴上分隔成几个子图,同上
(3)index:子图索引,同上

(4)**kwargs:一些涉及子图属性的关键字参数,同上

当绘制的子图之间出现遮挡,subplot方法会绘制代码位置靠后的图形,而add_subplot则会绘制所有图形,只是出现遮挡

4,方法matplotlib.pyplot.figure().add_axes(rect, projection, polar, sharex, sharey, **kwargs)

参数:
(1)rect(位置参数):一个4元素的浮点数列表,[left, bottom, width, height]
其定义了要添加到figure中的矩形子区域的:左下角坐标(x, y)、宽度、高度

每个元素的值是实际长度与figure对应长度的分数比值,不大于1;即将figure的宽、高作为1个单位

(2)projection(可选)(关键词参数):坐标系的投影类型,同上
(3)polar(可选)(关键词参数):表示是否启用’polar‘的投影类型,同上
(4)sharex, sharey(可选)(关键词参数):是否共x或y轴,同上

5.函数matplotlib.pyplot.subplot2grid(shape, loc, rowspan, colspan, fig, **kwargs)

参数:
(1)shape:元组,网格划分的形状
(2)loc:元组,元素数和shape一致,表示子图划分的起始位置
(3)rowspan:子图占用多少行,缺省为1
(4)colspan:子图占用多少列,缺省为1
(5)fig:缺省为None
(6)**kwargs

import matplotlib.pyplot as pltfig = plt.figure()fig.suptitle('Figure')axes1 = plt.subplot2grid((3,3), (0,0), colspan=3)axes2 = plt.subplot2grid((3,3), (1,0), colspan=2)axes3 = plt.subplot2grid((3,3), (1,2))axes4 = plt.subplot2grid((3,3), (2,0))axes5 = plt.subplot2grid((3,3), (2,1), colspan=2)plt.show()

 

(三)函数figure的方法

1.matplotlib.pyplot.figure().suptitle()

2.matplotlib.pyplot.figure().supxlabel()

3.matplotlib.pyplot.figure().supylabel()

 

(四)AxesSubplot的方法

1.

AxesSubplot.set_title(),AxesSubplot.set_xlabel(),AxesSubplot.set_ylabel(),AxesSubplot.set_xlim(),AxesSubplot.set_ylim(),AxesSubplot.remove(),AxesSubplot.set_facecolor,AxesSubplot.patch.set_alpha(),AxesSubplot.text,AxesSubplot.legend(),AxesSubplot.grid(),AxesSubplot.lines.set_label()


 

(一)基础

1.折线图matplotlib.pyplot.plot(*args,**kwargs,label) / AxesSubplot.plot()

用于画图,可以绘制点和折线线
 
参数:
(1)**args:允许传入多对x,y和format_string

plot(x1, y1, ‘str1’, x2, y2, ‘str2’)

(1.1)x(可选):X轴数据,可为(元组),[列表],numpy.array,pandas.Series,缺省为range(len(y))
(1.2)y:Y轴数据,可为(元组),[列表],numpy.array,pandas.Series

x,y可以为pd.DataFrame?

(1.3)format_string(可选):控制曲线的格式字符串
(1.3.1)c:color,颜色,详见文底《颜色表》
(1.3.2)ls:linestyle,线型

‘:’:点线;‘-.’:点画线;‘–’:短划线;‘-’:实线;'‘和’ ':无线条

(1.3.3)lw:linewidth,线宽
(1.3.4)marker:标记

‘.’:点标记;‘,’:点标记;‘o’:实心圈标记;‘v’:倒三角标记;‘^’:上三角标记;‘>’:右三角标记;‘<’:左三角标记;‘h’:竖六边形标记;‘H’:横六边形标记;‘+’:十字标记;‘+’:十字标记;‘1’:下花三角标记;‘2’:上花三角标记;‘3’:左花三角标记;‘4’:右花三角标记;’s’:实心方形标记;‘p’:实心五角标记;‘*’:星形标记;‘d’:瘦菱形标记;‘D’:菱形标记;‘|’:竖直线标记;‘_’:水平线标记

(1.3.5)markersize:标记大小
(1.3.6)markerfacecolor:标记填充色
(1.3.7)markeredgewidth:标记边缘宽度
(1.3.8)markeredgecolor:标记边缘色

以上可以使用命名参数(color=‘r’,linestyle=‘-’,marker=‘o’),也可以以字符串形式(‘r’+‘-’+‘o’)(‘r-o’)

(1.3.9)alpha
(2)**kwargs:允许传入多个可选的关键字参数
(3)label:标签,一个plot中只能有一个label,缺省为None

import matplotlib.pyplot as plt#一个图片里绘制一个图像a1=[3,4,5] # [列表]a2=[2,3,2] # x,y元素个数N应相同plt.plot(a1,a2)plt.show()

请添加图片描述

import numpy as npimport pandas as pdimport matplotlib.pyplot as plt#一个图片里绘制两个图像x=(3,4,5) # (元组)y1=np.array([3,4,3]) # np.arrayy2=pd.Series([4,5,4]) # pd.Seriesplt.plot(x,y1)plt.plot(y2)  # x可省略,默认[0,1..,N-1]递增,N是y内的元素数plt.show() # plt.show()前可加多个plt.plot(),画在同一张图上

Alt

import numpy as npimport pandas as pdimport matplotlib.pyplot as plt#一个图片里绘制两个图像plt.plot(x,y1,x,y2) # 此时x不可省略plt.show()

Alt

import numpy as npimport matplotlib.pyplot as plt#二维数组b1=np.array([[0,1,2],              [3,4,5],             [6,7,8]])b2=np.array([[2,3,5],             [8,3,1],             [4,5,9]])#b1的第一列为[0,3,6],b2的第一列为[2,8,4],从而构成三个点一段折线,以此类推plt.plot(b1,b2)plt.show()

Alt

import numpy as npimport matplotlib.pyplot as plt#格式控制字符串b1=np.array([[0,1,2],             [3,4,5],             [6,7,8]])b2=np.array([[1,3,4],             [7,1,8],             [9,7,6]])plt.plot(b1,b2,"ob:") #"b"为蓝色, "o"为圆点, ":"为点线plt.show()

Alt

import numpy as npimport pandas as pdimport matplotlib.pyplot as plt #颜色与线型color=['b','g','r','c','m','y','k','w']linestyle=['-','--','-.',':']##格式控制字符串dic1=[[0,1,2],[3,4,5]]x=pd.DataFrame(dic1)dic2=[[2,3,2],[3,4,3],[4,5,4],[5,6,5]]y=pd.DataFrame(dic2)# 循环输出所有"颜色"与"线型"for i in range(2):    for j in range(4):        plt.plot(x.loc[i],y.loc[j],color[i*4+j]+linestyle[j]) plt.show()#如果只控制"颜色", 格式控制字符串还可以输入英文全称, 如"red"#也可以是十六进制RGB字符串, 如"#FF0000"

Alt

import matplotlib.pyplot as plt#关键字=参数y=[2,3,2] plt.plot(y,color="blue",linewidth=20,marker="o",markersize=50,         markerfacecolor="red",markeredgewidth=6,markeredgecolor="grey")plt.show()

Alt
 

2.散点图matplotlib.pyplot.scatter(x, y, s, c, marker, cmap, norm, vmin, vmax, alpha, linewidths, edgecolors, **kwargs) / AxesSubplot.scatter()

参数:
(1)x,y:表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点,输入数据。x轴数据和y轴数据
(2)s(可选):表示散点大小,是一个标量或者是一个shape大小为(n,)的数组,缺省为20
(3)c(可选):color,表示的是散点色彩或颜色序列。但是c不应该是一个单一的RGB数字,也不应该是一个RGBA的序列,因为不便区分。c可以是一个RGB或RGBA二维行数组。缺省为’b’,表示蓝色
(4)marker(可选):MarkerStyle,表示的是散点形状,标记的样式,缺省为’o’
(5)cmap(可选):Colormap,标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap,缺省为None

cmap = plt.cm.Spectral
给label为1的点一种颜色,给label为0的点另一种颜色
cmap=plt.get_cmap(‘rainbow’))
设置颜色映射

(6)norm:Normalize,数据亮度在0-1之间,也是只有c是一个浮点数的数组的时候才使用,缺省为None
(7)vmin,vmax(可选):标量,当norm存在的时候忽略。用来进行亮度数据的归一化,缺省为None
(8)alpha(可选):标量,0-1之间,散点的透明度,缺省为None
(9)linewidths:标记点的长度,散点边框的宽度,缺省为None
(10)edgecolors:设置散点边框的颜色,缺省为None

 

3.柱状图matplotlib.pyplot.bar() / AxesSubplot.bar()

4.横向柱状图matplotlib.pyplot.barh() / AxesSubplot.barh()

4.茎状图(火柴图)matplotlib.pyplot.stem(x, y, linefmt, markerfmt, basefmt,bottom, label, orientation) / AxesSubplot.stem()

参数:
(1)x(可选):数组,每根火柴的x轴位置,缺省为arange(len(y))
(2)y:数组,火柴头部的y坐标
(3)linefmt(可选):字符串类型,定义垂直线条属性,包括线条颜色和线条类型,缺省为None
(4)markerfmt(可选):字符串类型,定义火柴头部标记属性,包括线条颜色和线条类型

(5)basefmt(可选):字符串类型,定义基线属性,缺省为‘C3-’,经典模式下为‘C2-’
(6)bottom(可选):浮点型,基线所在的y轴位置,缺省为0
(7)label(可选):字符串类型,标签,缺省为None
(8)orientation(可选):如‘y’

2D图使用此参数似乎会引起警告

 

5.阶梯图(步阶图)(分段折线图)matplotlib.pyplot.step() / AxesSubplot.step()

6.填充图matplotlib.pyplot.fill_between() / AxesSubplot.fill_between()

7.堆叠图matplotlib.pyplot.stackplot() / AxesSubplot.stackplot()

8.极坐标图matplotlib.pyplot.polar() / AxesSubplot.polar()

(二)数组和字段的绘图

1.显示图像matplotlib.pyplot.imshow(X,cmap,interpolation) / AxesSubplot.imshow()

热图(heatmap)是数据分析的常用方法,通过色差、亮度来展示数据的差异、易于理解。
参数:
(1)x:图像数据

(2)cmap:将标量数据映射到色彩图,缺省为None

cmap=‘颜色’;cmap=plt.get_cmap(‘颜色’)

(3)interpolation:缺省为None

2.matplotlib.pyplot.pcolormesh() / AxesSubplot.pcolormesh()

3.轮廓线(等高线)matplotlib.pyplot.contour(X, Y, Z, levels, cmap, **kwargs) / AxesSubplot.contour()

参数:
(1)X,Y(可选):数组,Z中值的坐标

(2)Z:类似数组(N,M),绘制轮廓的高度值
(3)levels(可选):int或数组,确定等高线/区域的数量和位置

(4)cmap:缺省为None
 

4.填充轮廓matplotlib.pyplot.contourf(X, Y, Z, levels, cmap, **kwargs) \ AxesSubplot.contourf()

基本同上

5.倒钩图matplotlib.pyplot.barbs() \ AxesSubplot.barbs()

6.箭图matplotlib.pyplot.quiver() \ AxesSubplot.quiver()

7.流线图matplotlib.pyplot.streamplot() \ AxesSubplot.streamplot()

8.绘制X与Y的相关性matplotlib.pyplot.cohere() \ AxesSubplot.cohere()

9.功率谱密度图matplotlib.pyplot.psd() \ AxesSubplot.psd()

10.谱图matplotlib.pyplot.specgram() \ AxesSubplot.specgram()

(三)统计分析绘图

1.直方图matplotlib.pyplot.hist() \ AxesSubplot.hist()

2.箱线图(箱型图)matplotlib.pyplot.boxplot() \ AxesSubplot.boxplot()

3.误差棒图matplotlib.pyplot.errorbar() \ AxesSubplot.errorbar()

4.小提琴图matplotlib.pyplot.violinplot() \ AxesSubplot.violinplot()

5.尖峰栅格图matplotlib.pyplot.eventplot() \ AxesSubplot.eventplot()

6.2D直方图matplotlib.pyplot.hist2d() \ AxesSubplot.hist2d()

7.matplotlib.pyplot.hexbin() \ AxesSubplot.hexbin()

8.饼状图matplotlib.pyplot.pie() \ AxesSubplot.pie()

(四)非结构化坐标

1.matplotlib.pyplot.tricontour() \ AxesSubplot.tricontour()

2.matplotlib.pyplot.tricontourf() \ AxesSubplot.tricontourf()

3.matplotlib.pyplot.tripcolor() \ AxesSubplot.tripcolor()

4.matplotlib.pyplot.triplot() \ AxesSubplot.triplot()

(五)3D

1. AxesSubplot.plot(x, y, z)

2. AxesSubplot.scatter(x, y, z)

3. AxesSubplot.plot_surface(x, y, z, rstride, cstride, cmap)

参数:
(1)x,y,z:
(2)rstride:row,指定行的跨度,缺省为1
(3)cstride:column,指定列的跨度,缺省为1
(4)color:表示的是散点色彩或颜色序列,同上
(5)cmap:标量或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用,同上
(6)alpha(可选):标量,0-1之间,散点的透明度,缺省为None

4.

Triangular 3D surfaces,3D voxel / volumetric plot,3D wireframe plot

1.颜色表

颜色表

2.标记marker

符号标记符号标记符号标记符号标记
.,像素o实心圈v倒三角
^正三角<左三角>右三角1下花三角
2上花三角3左花三角4右花三角8正八面体
s实心方形p实心五角P实心十字+十字
x叉形X实心叉d瘦菱形D菱形
h竖六边形H横六边形|竖直线_水平线
*五角星

以上未完待更新,仅供个人学习,侵权联系删除,如有错误或不足之处可指出,以便改进。

来源地址:https://blog.csdn.net/abc31431415926/article/details/127910035

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯