目录

  • 1.pyplot的plot( )函数
    • 1.1 函数参数
    • 1.2 函数应用
  • 2. 常用figures,axes(多图形、坐标系)
    • 2.1 创建fig,axes
    • 2.2 基本绘图2D设置
      • 1) plot()默认是线
      • 2) 关键字参数绘图
      • 3) 区间上下限
      • 4) 设置边框线
      • 5) 设置图例
      • 6) 设置备注
      • 7) 区间分段
      • 8) 布局
      • 9) 轴相关
    • 2.3 绘制基本图形
      • 散点图
      • 条形图
      • 直方图
      • 饼图
      • 箱形图
      • 气泡图
      • 等高线图
      • 3D图

matplotlib.pyplot是一个有命令风格的函数集合,看起来和MATLAB相似。每一个pyplot函数都使一副图像做出些许改变,例如创建一幅图,在图中创建一个绘图区域,在绘图区域中添加一条线等等。在matplotlib.pyplot中,各种状态通过函数调用保存起来,以便于可以随时跟踪像当前图像和绘图区域这样的东西。== 绘图函数是直接作用于当前axes(matplotlib中的专有名词,图形中组成部分,不是数学中的坐标系)。 ==

1.pyplot的plot( )函数

1.1 函数参数

==plt.plot(x,y,format_string,**kwargs) ==
x:x轴数据,列表或数组,可选
y:y轴数据,列表或数组
format_string:控制曲线的格式字符串,可选
**kwargs:第二组或更多,(x,y,format_string)
注:当绘制多条曲线时,各条曲线的x不能省略

例子:

import matplotlib.pyplot as plt
import numpy as npa = np.arange(10)
plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)
plt.show()


format_string:控制曲线的格式字符串,可选,由颜色字符、风格字符和标记字符组成。

颜色字符 说明 颜色字符 说明
‘b’ 蓝色 ‘m’ 洋红色
‘g’ 绿色 ‘y’ 黄色
‘r’ 红色 ‘k’ 黑色
‘c’ 青绿色 cyan ‘w’ 白色
‘#008000’ RGB某颜色 ‘0.8’ 灰度值字符串
风格字符 说明
‘-‘ 实线
‘–’ 破折线
‘-.’ 点划线
‘:’ 虚线
’ ’ ’ ‘ 无线条
标记字符 说明 标记字符 说明
‘.’ 点标记 ‘1’ 下花三角标记
‘,’ 像素标记(极小点) ‘2’ 上花三角标记
‘o’ 实心圈标记 ‘3’ 左花三角标记
‘v’ 倒三角标记 ‘4’ 右花三角标记
‘^’ 上三角标记 ’s’ 实心方形标记
‘>’ 右三角标记 ‘p’ 实心五角标记
‘<’ 左三角标记 ‘*’ 星形标记
‘h’ 竖六边形标记 ‘x’ x标记
‘H’ 横六边形标记 ‘D’ 菱形标记
‘+’ 十字标记 ‘d’ 瘦菱形标记
垂直线标记
import matplotlib.pyplot as plt
import numpy as npa = np.arange(10)
plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'*',a,a*4.5,'b-.')
plt.show()

plt.plot(x,y,format_string,**kwargs)
**kwargs:第二组或更多,(x,y,format_string)
color:控制颜色,color=’green’
linestyle:线条风格,linestyle=’dashed’
marker:标记风格,marker = ‘o’
markerfacecolor:标记颜色,markerfacecolor = ‘blue’
markersize:标记尺寸,markersize = ‘20’

1.2 函数应用

1)一个参数y

    import matplotlib.pyplot as pltplt.plot([1,2,3,4])plt.ylabel('some numbers')plt.show()


X和Y轴为什么是0-3和1-4?
这里我们只是为plot()命令提供 了一个list或者是array,matplotlib就会假设这个序列是Y轴上的取值,并且会自动生成X轴上的值。因为python中的范围是从0开始的,因此X轴就是从0开始,长度与Y的长度相同,也就是[0,1,2,3]。

2)plot()是一个灵活的命令,它的参数可以是任意数量,比如

    plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

这表示的是==(x,y)对==,(1,1)(2,4)(3,9)(4,16)。这里有第三个可选参数,它是字符串格式的,表示颜色和线的类型。该字符串格式中的字母和符号来自于MATLAB,它是颜色字符串和线的类型字符串的组合。默认情况下,该字符串参数是’b-‘,表示蓝色的实线。

举一个使用红色圆圈绘制上述点集的例子:

    import matplotlib.pyplot as pltplt.plot([1,2,3,4], [1,4,9,16], 'ro')plt.axis([0, 6, 0, 20])plt.show()


可以查看plot()的文档(https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot),那里有完整的关于线的类型的说明。axis()命令(https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.axis)可以方便的获取和设置XY轴的一些属性。

如果matplotlib仅限于使用上面那种list,那么它将显得毫无用处。通常,我们都是使用numpy数组,实际上,所有的序列都将被在内部被转化成numpy数字。下面的例子是使用一个命令用几种不同风格的线绘制一个数组:

    import numpy as npimport matplotlib.pyplot as plt# 0到5之间每隔0.2取一个数t = np.arange(0., 5., 0.2)# 红色的破折号,蓝色的方块,绿色的三角形plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')plt.show()


控制线的属性
线有许多属性可以设置:线宽、线的形状,平滑等等。这里有一些设置线属性的方法:

  • 使用关键字参数
plt.plot(x,y,linewidth=2.0)
  • 对线对象(Line2D)使用set_方法,plot()会返回一个线对象的列表,比如line1, line2 = plot(x1, y1,
    x2, y2)。下面的代码我们将假设我们只有一条线,即返回的线对象列表的长度为1。
line, = plt.plot(x, y, '-')
line.set_antialiased(False) # 关闭平滑
  • 使用setp()命令。
    下面的例子使用的是MATLAB风格的命令去设置一个线的列表的多个属性。setp()可以作用于一个列表对象或者是一个单一的对象。你可以使用python风格的关键字参数或者是MATLAB风格的string/value对为参数:
lines = plt.plot(x1, y1, x2, y2)# 使用关键字
plt.setp(lines, color='r', linewidth=2.0)# 或者是MATLAB风格的string/value对
plt.setp(lines, 'color', 'r', 'linewidth', 2.0)

2. 常用figures,axes(多图形、坐标系)

MATLAB和pyplot都有当前图形(figure)和当前坐标系(axes)的概念。所有的绘图命令都是应用于当前坐标系的。gca()和gcf()(get current axes/figures)分别获取当前axes和figures的对象。通常,你不用担心这些,因为他们都在幕后被保存了,下面是一个例子,创建了两个子绘图区域(subplot):

import numpy as np
import matplotlib.pyplot as pltdef f(t):return np.exp(-t) * np.cos(2*np.pi*t)t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)plt.figure("2subplot")
plt.subplot(211)
plt.plot(t1, f(t1), 'bo', t2, f(t2), 'k')plt.subplot(212)
plt.plot(t2, np.cos(2*np.pi*t2), 'r--')
plt.show()


figure()命令在这儿可以不写,因为figure(1)将会被默认执行,同样,subplot(111)也是默认被执行的。subplot()中的参数分别指定了numrows、numcols、fignum,其中fignum的取值范围为1到numrows*numcols,分别表示的是将绘图区域划分为numrows行和numcols列个子绘图区域,fignum为当前子图的编号。编号是从1开始,一行一行由左向右编号的。其实subplot中的参数【111】本应写作【1,1,1】,但是如果这三个参数都小于10(其实就是第三个参数小于10)就可以省略逗号。你可以创建任意数量的子图(subplots)和坐标系(axes)。如果你想手动放置一个axes,也就是它不再是一个矩形方格,你就可以使用命令axes(),它可以让坐标系位于任何位置,axes([left,bottom,width,height]),其中所有的值都是0到1(axes([0.3,0.4,0.2,0.3])表示的是该坐标系位于figure的(0.3,0.4)处,其宽度和长度分别为figure横坐标和纵坐标总长的0.2和0.3)。subplot和axes的区别就在于axes大小和位置更加随意。
可以创建多个figure,通过调用figure(),其参数为figure的编号。当然每个figure可以包含多个subplot或者是多个axes。

2.1 创建fig,axes

一起创建

fig, ax = plt.subplots()
ax.scatter(x = train['GrLivArea'], y = train['SalePrice'])
plt.ylabel('SalePrice', fontsize=13)
plt.xlabel('GrLivArea', fontsize=13)
plt.show()

单独创建

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set(xlim=[0.5, 4.5], ylim=[-2, 8], title='An Example Axes',ylabel='Y-Axis', xlabel='X-Axis')
plt.show()


对于上面的fig.add_subplot(111)就是添加Axes的,意为在画板的第1行第1列的第一个位置生成一个Axes对象来准备作画。也可以通过fig.add_subplot(2, 2, 1)的方式生成Axes,前面两个参数确定了面板的划分,例如 2, 2会将整个面板划分成 2 * 2 的方格,第三个参数取值范围是 [1, 2*2] 表示第几个Axes。如:

plt.figure()
plt.subplot(2,2,1)#建立一个两行两列的画布,第一个
plt.plot([0,1],[0,1])
plt.subplot(2,2,2)#第二个
plt.plot([0,1],[0,1])
plt.subplot(2,2,3)#第三个
plt.plot([0,1],[0,1])
plt.subplot(2,2,4)#第四个
plt.plot([0,1],[0,1])
plt.show()

plt.figure()
plt.subplot(2,1,1)#建立一个两行两列的画布,第一个
plt.plot([0,1],[0,1])
plt.subplot(2,3,4)#第二个
plt.plot([0,1],[0,1])
plt.subplot(2,3,5)#第三个
plt.plot([0,1],[0,1])
plt.subplot(2,3,6)#第四个
plt.plot([0,1],[0,1])
plt.show()


动态图

from matplotlib import animation#动态图所需要的包
fig,ax = plt.subplots()#子图像
x = np.arange(0,2*np.pi,0.01)
line, = ax.plot(x,np.sin(x))def animate(i):line.set_ydata(np.sin(x+i/10))#用来改变的y对应的值return line,
def init():line.set_ydata(np.sin(x))#动态图初始图像return line,ani = animation.FuncAnimation(fig=fig,func=animate,init_func=init,interval=20)#动态作图的方法,func动态图函数,init_func初始化函数,interval指图像改变的时间间隔
plt.show()


注:若想看动态效果请在ipython中使用

2.2 基本绘图2D设置

1) plot()默认是线

plot()函数画出一系列的点,并且用线将它们连接起来。看下例子:

x = np.linspace(0, np.pi)
y_sin = np.sin(x)
y_cos = np.cos(x)ax1.plot(x, y_sin)
ax2.plot(x, y_sin, 'go--', linewidth=2, markersize=12)
ax3.plot(x, y_cos, color='red', marker='+', linestyle='dashed')


在上面的三个Axes上作画。plot,前面两个参数为x轴、y轴数据。ax2的第三个参数是 MATLAB风格的绘图,对应ax3上的颜色,marker,线型。

2) 关键字参数绘图

可以通过关键字参数的方式绘图,如下例:

x = np.linspace(0, 10, 200)
data_obj = {'x': x,'y1': 2 * x + 1,'y2': 3 * x + 1.2,'mean': 0.5 * x * np.cos(2*x) + 2.5 * x + 1.1}fig, ax = plt.subplots()#填充两条线之间的颜色
ax.fill_between('x', 'y1', 'y2', color='yellow', data=data_obj)# Plot the "centerline" with `plot`
ax.plot('x', 'mean', color='black', data=data_obj)plt.show()


发现上面的作图,在数据部分只传入了字符串,这些字符串对一个这 data_obj 中的关键字,当以这种方式作画时,将会在传入给 data 中寻找对应关键字的数据来绘图。

3) 区间上下限

ax.set_xlim([xmin, xmax]) #设置X轴的区间
ax.set_ylim([ymin, ymax]) #Y轴区间
ax.axis([xmin, xmax, ymin, ymax]) #X、Y轴区间
ax.set_ylim(bottom=-10) #Y轴下限
ax.set_xlim(right=25) #X轴上限

x = np.linspace(0, 2*np.pi)
y = np.sin(x)
fig, (ax1, ax2) = plt.subplots(2)
ax1.plot(x, y)
ax2.plot(x, y)
ax2.set_xlim([-1, 6])
ax2.set_ylim([-1, 3])
plt.show()

4) 设置边框线

plt.gca #获取当前的坐标轴
spines['right'].set_color('red’) #右边框为红色
# 分别把x轴与y轴的刻度设置为bottom与left
xaxis.set_ticks_position('bottom')
yaxis.set_ticks_position('left’)
# 分别v把bottom和left类型设置为data,交点为(0,0)
spines['bottom'].set_position(('data',0))
spines['left'].set_position(('data',0))#例:
ax = plt.gca()
ax.spines['right'].set_color(‘red')
ax.spines['top'].set_color(‘red’)

5) 设置图例

fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4], [10, 20, 25, 30], label='Philadelphia')
ax.plot([1, 2, 3, 4], [30, 23, 13, 4], label='Boston')
ax.scatter([1, 2, 3, 4], [20, 10, 30, 15], label='Point')
ax.set(ylabel='Temperature (deg C)', xlabel='Time', title='A tale of two cities')
ax.legend()
plt.show()


在绘图时传入 label 参数,并最后调用ax.legend()显示图例说明,对于 legend 还是传入参数,plt.legend(loc='xxxt’)。
控制图例说明显示的位置:

Location String Location Code
‘best’ 0
‘upper right’ 1
‘upper left’ 2
‘lower left’ 3
‘lower right’ 4
‘right’ 5
‘center left’ 6
‘center right’ 7
‘lower center’ 8
‘upper center’ 9
‘center’ 10
l1, = plt.plot(x,y1,color='red',linewidth=1.0,linestyle='—') #设置两条线为l1,l2    注:应该在后面加上,
l2, = plt.plot(x,y2,color="blue",linewidth=5.0,linestyle="-")
plt.legend(handles=[l1,l2],labels=['test1','test2'],loc='best’) #将l1,l2绘制于一张图中,其中名字分别是l1,l2,位置自动取在最佳位置

6) 设置备注

x0 = 0.5
y0 = 2*x0 + 1
# 画点
plt.scatter(x0,y0,s=50,color='blue')
# 画虚线
plt.plot([x0,x0],[y0,0],'k--',lw=2)#[x0,x0],[y0,0]代表x0,y0点作虚线交于x0,0  k--代表颜色的虚线,lw代表宽度
plt.annotate(r'$2x+1=%s$' % y0,xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))
#xy=(x0,y0)指在x0,y0点,xytext=(+30,-30)指在点向右移动30,向下移动30,textcoords='offset points'指以点为起点
#arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')指弧度曲线,  .2指弧度
plt.text(-2,2,r'$This\ is\ the\ text$',fontsize=16,color='red’) #-2,2指从-2,2开始写

7) 区间分段

data = [('apples', 2), ('oranges', 3), ('peaches', 1)]
fruit, value = zip(*data)fig, (ax1, ax2) = plt.subplots(2)
x = np.arange(len(fruit))
ax1.bar(x, value, align='center', color='gray')
ax2.bar(x, value, align='center', color='gray')ax2.set(xticks=x, xticklabels=fruit)#ax.tick_params(axis='y', direction='inout', length=10) #修改 ticks 的方向以及长度
plt.show()


上面不仅修改了X轴的区间段,并且修改了显示的信息为文本。

8) 布局

fig, axes = plt.subplots(2, 2, figsize=(9, 9))
fig.subplots_adjust(wspace=0.5, hspace=0.3,left=0.125, right=0.9,top=0.9,    bottom=0.1)#fig.tight_layout() #自动调整布局,使标题之间不重叠
plt.show()

通过fig.subplots_adjust()我们修改了子图水平之间的间隔wspace=0.5,垂直方向上的间距hspace=0.3,左边距left=0.125 等等,这里数值都是百分比的。以 [0, 1] 为区间,选择left、right、bottom、top 注意 top 和 right 是 0.9 表示上、右边距为百分之10。不确定如果调整的时候,fig.tight_layout()是一个很好的选择。之前说到了内边距,内边距是子图的,也就是 Axes 对象,所以这样使用 ax.margins(x=0.1, y=0.1),当值传入一个值时,表示同时修改水平和垂直方向的内边距。

观察上面的四个子图,可以发现他们的X、Y的区间是一致的,而且这样显示并不美观,所以可以调整使他们使用一样的X、Y轴:

fig, (ax1, ax2) = plt.subplots(1, 2, sharex=True, sharey=True)
ax1.plot([1, 2, 3, 4], [1, 2, 3, 4])
ax2.plot([3, 4, 5, 6], [6, 5, 4, 3])
plt.show()

9) 轴相关

改变边界的位置,去掉四周的边框:

fig, ax = plt.subplots()
ax.plot([-2, 2, 3, 4], [-10, 20, 25, 5])
ax.spines['top'].set_visible(False)     #顶边界不可见
ax.xaxis.set_ticks_position('bottom')  # ticks 的位置为下方,分上下的。
ax.spines['right'].set_visible(False)   #右边界不可见
ax.yaxis.set_ticks_position('left')  # "outward"
# 移动左、下边界离 Axes 10 个距离
#ax.spines['bottom'].set_position(('outward', 10))
#ax.spines['left'].set_position(('outward', 10))# "data"
# 移动左、下边界到 (0, 0) 处相交
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))# "axes"
# 移动边界,按 Axes 的百分比位置
#ax.spines['bottom'].set_position(('axes', 0.75))
#ax.spines['left'].set_position(('axes', 0.3))plt.show()

2.3 绘制基本图形

散点图

x = np.random.normal(0,1,500)
y = np.random.normal(0,1,500)
plt.scatter(x,y,s=50,color='blue',alpha=0.5) #s指点大小,alpha指透明度
plt.show()

条形图

np.random.seed(1)
x = np.arange(5)
y = np.random.randn(5)fig, axes = plt.subplots(ncols=2, figsize=plt.figaspect(1./2))vert_bars = axes[0].bar(x, y, color='lightblue', align='center')
horiz_bars = axes[1].barh(x, y, color='lightblue', align='center')
#在水平或者垂直方向上画线
axes[0].axhline(0, color='gray', linewidth=2)
axes[1].axvline(0, color='gray', linewidth=2)
plt.show()


条形图还返回了一个Artists 数组,对应着每个条形,例如上图 Artists 数组的大小为5,我们可以通过这些 Artists 对条形图的样式进行更改,如下例:

fig, ax = plt.subplots()
vert_bars = ax.bar(x, y, color='lightblue', align='center')# We could have also done this with two separate calls to `ax.bar` and numpy boolean indexing.
for bar, height in zip(vert_bars, y):if height < 0:bar.set(edgecolor='darkred', color='salmon', linewidth=3)plt.show()

直方图

np.random.seed(19680801)n_bins = 10
x = np.random.randn(1000, 3)fig, axes = plt.subplots(nrows=2, ncols=2)
ax0, ax1, ax2, ax3 = axes.flatten()colors = ['red', 'tan', 'lime']
ax0.hist(x, n_bins, density=True, histtype='bar', color=colors, label=colors)
ax0.legend(prop={'size': 10})
ax0.set_title('bars with legend')ax1.hist(x, n_bins, density=True, histtype='barstacked')
ax1.set_title('stacked bar')ax2.hist(x,  histtype='barstacked', rwidth=0.9)ax3.hist(x[:, 0], rwidth=0.9)
ax3.set_title('different sample sizes')fig.tight_layout()
plt.show()


参数中density控制Y轴是概率还是数量,与返回的第一个的变量对应。histtype控制着直方图的样式,默认是 ‘bar’,对于多个条形时就相邻的方式呈现如子图1, ‘barstacked’ 就是叠在一起,如子图2、3。 rwidth 控制着宽度,这样可以空出一些间隙,比较图2、3. 图4是只有一条数据时。

或者直接用plt.bar()

x = np.arange(10)
y = 2**x + 10
plt.bar(x,y,facecolor='#9999ff',edgecolor='white')#柱颜色,柱边框颜色
for x,y in zip(x,y):#zip指把x,y结合为一个整体,一次可以读取一个x和一个yplt.text(x,y,'%.2f' % y,ha='center',va='bottom')#指字体在中间和柱最顶的顶部
plt.show()

饼图

labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15, 30, 45, 10]
explode = (0, 0.1, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')fig1, (ax1, ax2) = plt.subplots(2)
ax1.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True)
ax1.axis('equal')
ax2.pie(sizes, autopct='%1.2f%%', shadow=True, startangle=90, explode=explode,pctdistance=1.12)
ax2.axis('equal')
ax2.legend(labels=labels, loc='upper right')plt.show()


饼图自动根据数据的百分比画饼.。labels是各个块的标签,如子图一。autopct=%1.1f%%表示格式化百分比精确输出,explode,突出某些块,不同的值突出的效果不一样。pctdistance=1.12百分比距离圆心的距离,默认是0.6.

箱形图

为了专注于如何画图,省去数据的处理部分。 data 的 shape 为 (n, ), data2 的 shape 为 (n, 3)。

fig, (ax1, ax2) = plt.subplots(2)
ax1.boxplot(data)
ax2.boxplot(data2, vert=False) #控制方向

气泡图

散点图的一种,加入了第三个值 s 可以理解成普通散点,画的是二维,泡泡图体现了Z的大小,如下:

np.random.seed(19680801)N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2  # 0 to 15 point radiiplt.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.show()

等高线图

fig, (ax1, ax2) = plt.subplots(2)
x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)
xx, yy = np.meshgrid(x, y, sparse=True)
z = np.sin(xx**2 + yy**2) / (xx**2 + yy**2)
ax1.contourf(x, y, z)
ax2.contour(x, y, z)


上面画了两个一样的轮廓图,contourf会填充轮廓线之间的颜色。数据x, y, z通常是具有相同 shape 的二维矩阵。x, y 可以为一维向量,但是必需有 z.shape = (y.n, x.n) ,这里 y.n 和 x.n 分别表示x、y的长度。Z通常表示的是距离X-Y平面的距离,传入X、Y则是控制了绘制等高线的范围。

def f(x,y):#用来生成高度return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)x = np.linspace(-3,3,100)
y = np.linspace(-3,3,100)X,Y = np.meshgrid(x,y)#将x,y指传入网格中
plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)#8指图中的8+1根线,绘制等温线,其中cmap指颜色C = plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=.5)#colors指等高线颜色
plt.clabel(C,inline=True,fontsize=10)#inline=True指字体在等高线中plt.xticks(())
plt.yticks(())
plt.show()

3D图

from mpl_toolkits.mplot3d import Axes3D#动态图所需要的包
fig = plt.figure()
ax = Axes3D(fig)x = np.arange(-4,4,0.25)#0.25指-4至4间隔为0.25
y = np.arange(-4,4,0.25)
X,Y = np.meshgrid(x,y)#x,y放入网格
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))#rstride=1指x方向和y方向的色块大小
ax.contourf(X,Y,Z,zdir='z',offset=-2,cmap='rainbow')#zdir指映射到z方向,-2代表映射到了z=-2
ax.set_zlim(-2,-2)plt.show()

python常用数据作图--matplotlib用法(相关设置及常用图)相关推荐

  1. python常用数据类型转换(str、list、tuple、set、dict)方法编码与解码字符串格式化处理时间格式化

    python常用数据类型str.list.tuple.set.dict的常用方法汇总&编码与解码 一.字符串(str)的常用方法 1.1 字符串的格式化 1.1.1 %s.%d.%f进行占位 ...

  2. 数据分析与挖掘-python常用数据探索函数

    在python中,主要两个库用于数据探索,一个是Pandas(用于数据分析,这可能是数据分析领域最强的python库),另一个是Matplotlib(用于数据可视化,绘制图表,起源于MATLAB). ...

  3. python常用数据包

    1)Numpy [Python包]:Python:Numpy基础:数组和矢量运算 2)Pandas [Python包]:Python:Pandas基础:结构化数据处理 [Python包]:Python ...

  4. 数据分析与挖掘-python常用数据预处理函数

    数据预处理往往在数据分析和数据挖掘领域占到了很大的比重,甚至在机器学习这些海量数据处理的场合,数据预处理也是最核心的工作.介绍几个预处理阶段常用的库函数. 1.interpolate 插值函数,Sci ...

  5. Python常用运算符含义与用法演示

    +运算符除了用于算术加法,还可以用于列表.元组和字符串的合并或连接,生成新对象: >>> 3 + (3+4j)            #整数和复数相加 (6+4j) >> ...

  6. python定义数据框大小_python – 如何设置框架的最小和最大高度或宽度?

    Tkinter窗口的大小可以通过以下方法进行控制: .minsize() .maxsize() .resizable() 是否有等同的方法来控制Tkinter或ttk框架的大小? @Bryan:我把你 ...

  7. 微课|玩转Python轻松过二级(2.4节):常用内置函数用法精要2

    适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第2章  运算符.表达式与内置对象 2.4  Python常用内置函数用法精要 2.4.4  排序与逆序 2 ...

  8. 微课|玩转Python轻松过二级(2.4节):常用内置函数用法精要4

    适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第2章  运算符.表达式与内置对象 2.4  Python常用内置函数用法精要 2.4.7  range() ...

  9. 微课|玩转Python轻松过二级(2.4节):常用内置函数用法精要3

    适用教材: 董付国.<玩转Python轻松过二级>.清华大学出版社,2018. 第2章  运算符.表达式与内置对象 2.4  Python常用内置函数用法精要 2.4.6  map().r ...

最新文章

  1. (七十九)MapKit的基本使用
  2. Android消息处理机制
  3. 关于 Hive 报 SemanticException 错误的问题
  4. 前端优化系列之浏览器渲染
  5. 实验一 分治与递归—全排列 java算法
  6. 关于选择,说一个同学的真实故事
  7. 第四周课程总结实验报告二
  8. 跟着辛星用PHP的反射机制来实现插件
  9. Firefox 新版本发布,Cookie 可真不好吃
  10. 微软十二月补丁星期二修复58个漏洞
  11. Python 关键字(keyword)
  12. 程序员必学电脑计算机专业英语词汇 04 (200 单词)
  13. win10磁贴中的图标变成白色的解决方法
  14. 一文搞懂“如何通过群晖+DNSPod DDNS搭建私有云服务?”
  15. 金融行业IT运维现状问题和发展方向
  16. MATLAB fprintf 函数输出希腊字母/特殊字符
  17. 轩小陌的Python笔记-day05 数据类型
  18. 黑马程序员_困兽之斗
  19. 【物联网】14.物联网设备控制器选择 - 单片机(MCU)
  20. 1.Python简介开发环境配置工具准备

热门文章

  1. Html+css3动画效果
  2. 企业为什么要先上ERP?
  3. 爬取财经新闻+新闻评论(一网打尽)
  4. word无法保存html文件,【修复】Word“文件发生错误”,无法保存文件
  5. Hive时间格式转换
  6. 计算机题库一级第四,计算机一级题题库,第四章Excel
  7. 光伏行业逆变器企业应该如何生存?
  8. python27-python27下载
  9. 计算机社团展示ppt,学生社团管理系统.ppt
  10. 怎么把mkv文件转成mp4格式,3招立马处理