Python 第三方模块 绘图 Matplotlib模块 绘制3维图像

1.mplot3d工具包(mplot3d Toolkit)

mplot3d Toolkit是Matplotlib中用于绘制3D图像的工具包

绘制3D图像的步骤:
1.创建Axes3D对象
2.调用Axes3D对象的不同方法来绘制的3D图像
  • 创建Axes3D对象:
#方法1:
1.导入Axes3D包
2.获取figure对象
3.通过Axes3D(<figure>)来创建Axes3D对象

#实例:
>>> from mpl_toolkits.mplot3d import Axes3D
>>> fig=plt.figure()
>>> ax=Axes3D(fig)
##########################################################
#方法2:
1.通过<ax>=add_subplot()/<ax>=fig.subplot()创建子图
2.创建子图时指定projection="3d"
3.返回的ax即为Aexs3D对象

#实例:
>>> fig=plt.figure()
>>> ax=fig.add_subplot(111,projection="3d")

>>> ax=plt.subplot(111,projection="3d")
##########################################################
#方法3:
1.获取figure对象
2.通过<ax>=<figure>.gca(projection="3d")获取当前3D绘图区
3.返回的ax即为Axes3D对象

#实例:
>>> fig=plt.figure()
>>> ax=fig.gca(projection="3d")

2.绘制3D线性图:
其他参数参见:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.plot.html

<ax3d>.plot(<xs>,<ys>[,<zs>,zdir="z",**kwargs])
  #参数说明:
    ax3d:指定3D绘图区对象,将在该绘图区中绘制图像
    xs,ys,zs:分别指定数据点的x/y/z坐标;均为1维数组
      zs的默认值是所有元素均为0
    zdir:指定哪个轴作为z轴;可为"x"/"y"/"z"(默认值):如果为"y",如果不指定zs,数据会被绘制到x-z平面上
      #即在不改变手性的情况下对图像进行空间旋转,以从多角度观察
      #或变换x/y/z坐标的相对顺序,如zdir="y",将由ys指定z坐标,xs指定x坐标,zs指定y坐标
    kwargs:指定其他参数

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> theta=np.linspace(-4*np.pi,4*np.pi,100)
>>> z1=np.linspace(-2,2,100)
>>> r=z1**2+1
>>> x1=r*np.sin(theta)
>>> y1=r*np.cos(theta)
>>> z2=np.linspace(-3,3,100)
>>> x2=np.sin(z2)
>>> y2=np.cos(z2)
>>> ax.plot(x1,y1,z1,color='b',label='3D 线性图一')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x0000020A04C7CDC8>]
>>> ax.plot(x2,y2,z2,color='r',label='3D 线性图二')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x0000020A08386248>]
>>> ax.set_title('绘制 3D 线性图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 线性图示例')
>>> ax.set_xlabel('x 轴',color='r',fontsize='12')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴',color='g',fontsize='12')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴',color='b',fontsize='12')
Text(0.5, 0, 'z 轴')
>>> ax.legend()
<matplotlib.legend.Legend object at 0x0000020A0833C948>
>>> plt.show()#结果见下图

在这里插入图片描述

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> theta=np.linspace(-4*np.pi,4*np.pi,100)
>>> z1=np.linspace(-2,2,100)
>>> r=z1**2+1
>>> x1=r*np.sin(theta)
>>> y1=r*np.cos(theta)
>>> z2=np.linspace(-3,3,100)
>>> x2=np.sin(z2)
>>> y2=np.cos(z2)
>>> ax.plot(x1,y1,z1,zdir="y",color='b',label='3D 线性图一')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x000001E1E52E22C8>]
>>> ax.plot(x2,y2,z2,zdir="y",color='r',label='3D 线性图二')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x000001E1E52E2288>]
>>> ax.set_title('绘制 3D 线性图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 线性图示例')
>>> ax.set_xlabel('x 轴',color='r',fontsize='12')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴',color='g',fontsize='12')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴',color='b',fontsize='12')
Text(0.5, 0, 'z 轴')
>>> ax.legend()
<matplotlib.legend.Legend object at 0x000001E1E3F2CAC8>
>>> plt.show()#结果见下图

在这里插入图片描述

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> theta=np.linspace(-4*np.pi,4*np.pi,100)
>>> z1=np.linspace(-2,2,100)
>>> r=z1**2+1
>>> x1=r*np.sin(theta)
>>> y1=r*np.cos(theta)
>>> z2=np.linspace(-3,3,100)
>>> x2=np.sin(z2)
>>> y2=np.cos(z2)
>>> ax.plot(x1,y1,color='b',label='3D 线性图一')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x0000020908368E08>]
>>> ax.plot(x2,y2,color='r',label='3D 线性图二')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x000002090836F2C8>]
>>> ax.set_title('绘制 3D 线性图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 线性图示例')
>>> ax.set_xlabel('x 轴',color='r',fontsize='12')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴',color='g',fontsize='12')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴',color='b',fontsize='12')
Text(0.5, 0, 'z 轴')
>>> ax.legend()
<matplotlib.legend.Legend object at 0x000002097FF68648>
>>> plt.show()#结果见下图

在这里插入图片描述

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> theta=np.linspace(-4*np.pi,4*np.pi,100)
>>> z1=np.linspace(-2,2,100)
>>> r=z1**2+1
>>> x1=r*np.sin(theta)
>>> y1=r*np.cos(theta)
>>> z2=np.linspace(-3,3,100)
>>> x2=np.sin(z2)
>>> y2=np.cos(z2)
>>> ax.plot(x1,y1,zdir="x",color='b',label='3D 线性图一')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x000002ACC5FC9E88>]
>>> ax.plot(x2,y2,zdir="y",color='r',label='3D 线性图二')
[<mpl_toolkits.mplot3d.art3d.Line3D object at 0x000002ACC5FC9E48>]
>>> ax.set_title('绘制 3D 线性图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 线性图示例')
>>> ax.set_xlabel('x 轴',color='r',fontsize='12')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴',color='g',fontsize='12')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴',color='b',fontsize='12')
Text(0.5, 0, 'z 轴')
>>> ax.legend()
<matplotlib.legend.Legend object at 0x000002ACC27ADA88>
>>> plt.show()#结果见下图

在这里插入图片描述
3.绘制3D散点图:
其他属性参见:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.scatter.html

<ax3d>.scatter(<xs>,<ys>[,<zs>,zdir="z",s=20,c=None,depthshade=True,**kwargs])
  #参数说明:ax3d/xs/ys/zs/zdir同<ax3d>.plot();None表示默认值来自全局配置或没有
    s:指定标记的大小;为数组/标量
    c:指定标记的颜色,支持英文名称/简写/16进制颜色码;str/str list
    depthshade:指定是否为散点标记着色以提供深度外观;bool
    kwargs:指定其他属性

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> plt.show()
>>> fig=plt.figure()
>>> ax=fig.gca(projection="3d")
>>> n=100
>>> def randrange(n,vmin,vmax):
...     return (vmax-vmin)*np.random.rand(n)+vmin
...
>>> for m,zlow,zhigh in [('o',-50,-25),('^',-30,-5)]:
...     xs=randrange(n,23,32)
...     ys=randrange(n,0,100)
...     zs=randrange(n,zlow,zhigh)
...     ax.scatter(xs,ys,zs,marker=m)
...
<mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000002ACC71E0608>
<mpl_toolkits.mplot3d.art3d.Path3DCollection object at 0x000002ACC71E0DC8>
>>> ax.set_title('绘制 3D 散点图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 散点图示例')
>>> ax.set_xlabel('x 轴',color='b')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴',color='b')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴',color='b')
Text(0.5, 0, 'z 轴')
>>> plt.show()#结果见下图

在这里插入图片描述
4.绘制3D线框图:
其他属性参见:
https://matplotlib.org/api/_as_gen/mpl_toolkits.mplot3d.art3d.Line3DCollection.html

<ax3d>.plot_wireframe(<X>,<Y>,<Z>[,**kwargs])
  #参数说明:
    X,Y,Z:分别指定数据点的x/y/z坐标;均为2维数组
    kwargs:指定其他属性

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.add_subplot(111,projection='3d')
>>> def f(m, n):
...     return np.sin(np.sqrt(m ** 2 + n ** 2))
...
>>> x=np.linspace(-6,6,30)
>>> y=np.linspace(-6,6,30)
#生成网格点坐标矩阵:
>>> X,Y=np.meshgrid(x,y)
>>> Z=f(X,Y)
#绘制3D线框图:
>>> ax.plot_wireframe(X,Y,Z,color='c')
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x0000022FA7B65488>
>>> ax.set_title('绘制 3D 线框图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 线框图示例')
>>> ax.set_xlabel('x 轴')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴')
Text(0.5, 0, 'z 轴')
>>> plt.show()#结果见下图

在这里插入图片描述
5.绘制3D曲面图
(1)绘制3D曲面图:
其他参数参见:
https://matplotlib.org/api/_as_gen/mpl_toolkits.mplot3d.art3d.Line3DCollection.html

<ax3d>.plot_surface(<X>,<Y>,<Z>[,color=None,vmin=None,vmax=None,**kwargs])
  #参数说明:ax3d同<ax3d>.plot();None表示默认值来自全局配置或没有
    X,Y,Z:分别指定数据点的x/y/z坐标;均为2维数组
    color:指定曲面表面的颜色
    vmin,vmax:指定数据界限
    kwargs:指定其他参数

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.add_subplot(111,projection='3d')
>>> X=np.arange(-5,5,0.25)
>>> Y=np.arange(-5,5,0.25)
>>> X,Y=np.meshgrid(X,Y)
>>> R=np.sqrt(X**2+Y**2)
>>> Z=np.sin(R)
#绘制3D曲面图并添加色条(长度0.8)
>>> surface=ax.plot_surface(X,Y,Z,cmap='rainbow',antialiased=False)
>>> fig.colorbar(surface,shrink=0.8)
<matplotlib.colorbar.Colorbar object at 0x0000017B16112748>
>>> ax.set_title('绘制 3D 曲面图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 曲面图示例')
>>> ax.set_xlabel('x 轴')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴')
Text(0.5, 0, 'z 轴')
#调整观察角度和方位角,俯仰角25度,方位角40度:
>>> ax.view_init(25, 40)
#设置z轴刻度界限:
>>> ax.set_zlim(-2,2)
(-2.0, 2.0)
>>> plt.show()#结果见下图

在这里插入图片描述
(2)绘制3D三角曲面图:
其他参数参见:
https://matplotlib.org/api/_as_gen/mpl_toolkits.mplot3d.art3d.Poly3DCollection.html

<ax3d>.plot_trisurf(<X>,<Y>,<Z>[,color=None,vmin=None,vmax=None,**kwargs])
  #参数说明:其他参数同<ax3d>.plot_surface();None表示默认值来自全局配置或没有
    kwargs:指定其他参数

#实例:
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.add_subplot(111,projection='3d')
>>> n_radii=8
>>> n_angles=36
>>> radii=np.linspace(0.125,1.0,n_radii)
>>> angles=np.linspace(0,2*np.pi,n_angles,endpoint=False)[..., np.newaxis]
>>> x=np.append(0,(radii*np.cos(angles)).flatten())
>>> y=np.append(0,(radii*np.sin(angles)).flatten())
>>> z=np.sin(-x*y)
#绘制3D三角曲面图并添加色条(长度0.8):
>>> trisurf=ax.plot_trisurf(x,y,z,cmap='rainbow')
>>> fig.colorbar(trisurf,shrink=0.8)
<matplotlib.colorbar.Colorbar object at 0x0000026480BF2FC8>
>>> ax.set_title('绘制 3D 三角曲面图示例', pad=15, fontsize='12')
Text(0.5, 0.92, '绘制 3D 三角曲面图示例')
>>> ax.set_xlabel('x 轴')
Text(0.5, 0, 'x 轴')
>>> ax.set_ylabel('y 轴')
Text(0.5, 0, 'y 轴')
>>> ax.set_zlabel('z 轴')
Text(0.5, 0, 'z 轴')
>>> plt.show()#结果见下图

在这里插入图片描述
6.绘制3D柱状图:
其他参数参见:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.bar.html

<ax3d>.bar(<left>,<height>[,zs=0,zdir='z',**kwargs])
  #参数说明:ax3d/zdir同<ax3d>.plot()
    left:指定矩形的x坐标;1维数组
    height:指定矩形的y坐标;1维数组
    zs:指定矩形的z坐标;1维数组/标量
    kwargs:指定其他参数

#实例:
>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.add_subplot(111,projection='3d')
>>> colors=['r','g','b','y']
>>> yticks=[3,2,1,0]
>>> for c,k in zip(colors,yticks):
...     xs=np.arange(20)
...     ys=np.random.rand(20)
...     cs=[c]*len(xs)
...     ax.bar(xs,ys,zs=k,color=cs,alpha=0.8)
...
<BarContainer object of 20 artists>
<BarContainer object of 20 artists>
<BarContainer object of 20 artists>
<BarContainer object of 20 artists>
>>> ax.set_title('绘制 3D 柱状图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 柱状图示例')
>>> ax.set_xlabel('X 轴')
Text(0.5, 0, 'X 轴')
>>> ax.set_ylabel('Y 轴')
Text(0.5, 0, 'Y 轴')
>>> ax.set_zlabel('Z 轴')
Text(0.5, 0, 'Z 轴')
>>> ax.set_yticks(yticks)
[<matplotlib.axis.XTick object at 0x0000014F5E7CBF48>, <matplotlib.axis.XTick object at 0x0000014F5E7A5FC8>, <matplotlib.axis.XTick object at 0x0000014F5DDC47C8>, <matplotlib.axis.XTick object at 0x0000014F5DE488C8>]
>>> plt.show()#结果见下图

在这里插入图片描述
7.绘制3D箭形图:
其他参数参见:
https://matplotlib.org/api/collections_api.html#matplotlib.collections.LineCollection
在这里插入图片描述

<ax3d>.quiver(<X>,<Y>,<Z>,<U>,<V>,<W>[,length=1,arrow_length_ratio=0.3,pivot='tail',normalize=False,**kwargs])
  #参数说明:
    X,Y,Z:指定箭形尾部的x/y/z坐标;1维数组
    U,V,W:指定箭形向量在x/y/z轴上的分量;1维数组/标量
    ???length:指定箭筒的长度;float
    arrow_length_ratio:指定箭头相对于这个箭身的比率;float
    pivot:说明由X/Y/Z指定的位置是箭形哪部分的位置
      #箭头将绕该点旋转
      可为"tail"(默认值;尾部)/"middle"(中间)/"tip"(头部)
    ???normalize:指定箭形长度的策略
      为True,则所有箭头的长度都相同
      为False,则箭头的长度取决于U/V/W
    kwargs:指定其他参数

#实例:
>>> import matplotlib.pyplot as plt
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> ax.quiver([1],[1],[1],[0.01],[0],[0])
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x0000022231CEDFC8>
>>> ax.quiver([1],[1],[1],[0],[0.01],[0])
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x0000022231CFD488>
>>> ax.quiver([1],[1],[1],[0],[0],[0.01])
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x0000022231CFD448>
>>> plt.show()#结果见下图

在这里插入图片描述

>>> import matplotlib.pyplot as plt
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> ax.quiver([1],[1],[1],0.01,0.01,0.01,pivot="tip")
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x0000022FC67D0908>
>>> plt.show()

在这里插入图片描述

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> plt.rcParams['font.sans-serif']=['Microsoft YaHei']
>>> fig=plt.figure()
>>> ax=fig.gca(projection='3d')
>>> x,y,z=np.meshgrid(np.arange(-0.8,1,0.2),
...                       np.arange(-0.8,1,0.2),
...                       np.arange(-0.8,1,0.8))
>>> u=np.sin(np.pi*x)*np.cos(np.pi*y)*np.cos(np.pi*z)
>>> v=-np.cos(np.pi*x)*np.sin(np.pi*y)*np.cos(np.pi*z)
>>> w=(np.sqrt(2.0/3.0)*np.cos(np.pi*x)*np.cos(np.pi*y)*np.sin(np.pi*z))
>>> ax.quiver(x,y,z,u,v,w,length=0.1,normalize=True)
<mpl_toolkits.mplot3d.art3d.Line3DCollection object at 0x000001BBFE18FBC8>
>>> ax.set_title('绘制 3D 箭头图示例',pad=15,fontsize='12')
Text(0.5, 0.92, '绘制 3D 箭头图示例')
>>> ax.set_xlabel('X 轴')
Text(0.5, 0, 'X 轴')
>>> ax.set_ylabel('Y 轴')
Text(0.5, 0, 'Y 轴')
>>> ax.set_zlabel('Z 轴')
Text(0.5, 0, 'Z 轴')
#调整观察角度,俯仰角20度:
>>> ax.view_init(20)
>>> plt.show()#结果见下图

在这里插入图片描述
8.绘制3D等高线图:
(1)绘制3D等高线图:

<ax3d>.contour(<X>,<Y>,<Z>[,extend3d=False,stride=5,zdir='z',offset=None,**kwargs])
  #参数说明:ax3d/zdir同<ax3d>.plot()
    X,Y,Z:分别指定数据点的x/y/z坐标;
    extend3d:指定是否以3D延伸等高线;bool
      #即:是否向上下延伸等高线
    ???stride:指定延伸轮廓的步长;int
      #实际效果为:stride越小,曲线越平滑
      #该参数仅在extend3d=True,offset=None时生效
    offset:指定在垂直于zdir且值为offset的平面上绘制轮廓线的投影而不再绘制等高线
      None表示不绘制投影而绘制等高线
      #extend3d=True会使该参数失效,永远绘制等高线
    kwargs:指定其他参数

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fig=plt.figure(figsize=(8,4.8))
>>> ax=fig.add_subplot(111,projection='3d')
>>> X=np.arange(-2.0,2.0,0.01)
>>> Y=np.arange(-2.0,2.0,0.01)
>>> m,n=np.meshgrid(X,Y)
>>> def f(a,b):
...     return (1-b**5+a**5)*np.exp(-a**2-b**2)
...
>>> contour=ax.contour(X,Y,f(m,n),cmap='rainbow')
>>> fig.colorbar(contour,shrink=0.8)
>>> plt.show()#结果见下图1
>>> contour=ax.contour(X,Y,f(m,n),cmap='rainbow',extend3d=True)
>>> fig.colorbar(contour,shrink=0.8)
<matplotlib.colorbar.Colorbar object at 0x000001DC7D6169C8>
>>> plt.show()#结果见下图2
>>> contour=ax.contour(X,Y,f(m,n),cmap='rainbow',extend3d=True,stride=100)
>>> fig.colorbar(contour,shrink=0.8)
<matplotlib.colorbar.Colorbar object at 0x000001DC01A52B48>
>>> plt.show()#结果见下图3
>>> contour=ax.contour(X,Y,f(m,n),cmap='rainbow',offset=0.5)
>>> fig.colorbar(contour,shrink=0.8)
<matplotlib.colorbar.Colorbar object at 0x000001DC01C81908>
>>> plt.show()#结果见下图4

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)绘制3D等高线填充图:
其他参数参见:
https://matplotlib.org/api/_as_gen/matplotlib.axes.Axes.contourf.html

<ax3d>.contourf(<X>,<Y>,<Z>[,zdir='z',offset=None,**kwargs])
  #参数说明:其他参数同<ax3d>.contour()
    kwargs:指定其他参数

#实例:
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fig=plt.figure(figsize=(8,4.8))
>>> ax=fig.add_subplot(111,projection='3d')
>>> X=np.arange(-2.0,2.0,0.01)
>>> Y=np.arange(-2.0,2.0,0.01)
>>> m,n=np.meshgrid(X,Y)
>>> def f(a,b):
...     return (1-b**5+a**5)*np.exp(-a**2-b**2)
...
>>> fig.colorbar(contourf, shrink=0.8)
>>> plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值