六、Matplotlib库(上)

一、数据分析中的常用图

1.1 折线图

  • 折线图用于显示数据在一个连续的时间间隔或者时间跨度上的变化,它的特点是反映事物随时间或有序类别而变化的趋势。示例图如下:
    在这里插入图片描述

  • 折线图应用场景:

    1. 折线图适合X轴是一个连续递增或递减的,对于没有规律的,则不适合使用折线图,建议使用柱状图
    2. 如果折线图条数过多,则不应该都绘制在一个图上

1.2 柱状图

  • 典型的柱状图(又名条形图),使用垂直或水平的柱子显示类别之间的数值比较。其中一个轴表示需要对比的分类,另一个轴代表相应的数值。

  • 柱状图有别于直方图,柱状图无法显示数据在一个区间内的连续变化趋势。柱状图描述的是分类数据,回答的是每一个分类中“有多少?”这个问题。 示例图如下:
    在这里插入图片描述

  • 柱状图应用场景:

    1. 适用于分类数据对比

    2. 垂直条形图最多不超过12个分类(也就是12个柱形),横向条形图最多不超过30个分类。如果垂直条形图的分类名太长,那么建议换成横向条形图。
      在这里插入图片描述
      在这里插入图片描述

    3. 柱状图不适合表示趋势,如果想要表示趋势,应该使用折线图

1.3 直方图

  • 直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的条纹表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。

  • 直方图是数值数据分布的精确图形表示。为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。
    在这里插入图片描述

  • 直方图的应用场景:

    1. 显示各组数据数量分布的情况
    2. 用于观察异常或孤立数据
    3. 抽取的样本数量过小,将会产生较大误差,可信度低,也就失去了统计的意义。因此,样本数不应少于50个

1.4 散点图

  • 散点图也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定

  • 通过观察散点图上数据点的分布情况,我们可以推断出变量间的相关性。如果变量之间不存在相互关系,那么在散点图上就会表现为随机分布的离散的点,如果存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。数据的相关关系主要分为:正相关(两个变量值同时增长)、负相关(一个变量值增加另一个变量值下降)、不相关、线性相关、指数相关等,表现在散点图上的大致分布如下图所示。那些离点集群较远的点我们称为离群点或者异常点
    在这里插入图片描述

示例图如下:
在这里插入图片描述

1.5 饼状图

  • 饼状图通常用来描述量、频率和百分比之间的关系。在饼图中,每个扇区的弧长大小为其所表示的数量的比例
    在这里插入图片描述

  • 饼状图的应用场景:

    1. 展示多个分类的占比情况,分类数量建议不超过9个
    2. 对于一些占比值非常接近的,不建议使用饼状图,可以使用柱状图

1.6 箱线图

  • 箱线图(Box-plot)又称为盒须图、盒式图或箱型图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常被使用,它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较。箱线图的绘制方法是:先找出一组数据的 上限值、下限值、中位数(Q2)和下四分位数(Q1)以及上四分位数(Q3);然后,连接两个四分位数画出箱子;再将最大值和最小值与箱子相连接,中位数在箱子中间。

    在这里插入图片描述
    在这里插入图片描述

四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。多应用于统计学中的箱线图绘制。它是一组数据排序后处于25%和75%位置上的值。四分位数是通过3个点将全部数据等分为4部分,其中每部分包含25%的数据。很显然,中间的四分位数就是中位数,因此通常所说的四分位数是指处在25%位置上的数值(称为下四分位数)和处在75%位置上的数值(称为上四分位数)。与中位数的计算方法类似,根据未分组数据计算四分位数时,首先对数据进行排序,然后确定四分位数所在的位置,该位置上的数值就是四分位数。与中位数不同的是,四分位数位置的确定方法有几种,每种方法得到的结果会有一定差异,但差异不会很大。

上限的计算规则是:

IQR = Q3 - Q1

上限 = Q3 + 1.5IQR

下限 = Q1 - 1.5IQR

  • 箱线图的应用场景:
    1. 直观明了地识别数据中的异常值
    2. 利用箱线图判断数据的偏态
    3. 利用箱线图比较几批数据的形状
    4. 箱线图适合比较多组数据,如果知识要看一组数据的分布情况,建议使用直方图

二、Matplotlib库简介

  • Matplotlib是一个Python的2D绘图库,通过Matplotlib,开发者可以仅需要几行代码,便可以生成折线图,直方图,条形图,饼状图,散点图等

  • 安装
    如果是用Anaconda,可以通过conda install matplotlib或者通过pip install matplotlib进行安装。

三、折线图以及通用方法

3.1 plot 函数的基本使用

  • plot([x],y,[fmt],data=None,**kwargs)
    1. x:横轴数据(为可迭代对象),可不传由传入的 y 值自动确认
    2. y:纵轴数据(为可迭代对象)
    3. fmt:样式修改的字符串参数
    4. data:传入字典数据,其中包含有x与y作为key的数据
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 使用方式一
plt.plot(range(10),[np.random.randint(0,10) for x in range(10)])
plt.show()

在这里插入图片描述

其中plot是一个画图的函数,他的参数为plot([x],y,[fmt],data=None,**kwargs)。其中fmt可以传一个字符串,用来给这个图做一些样式修改的。默认的绘制样式是b-,也就是蓝色实体线条。比如我想将原来的图的线条改成点状,那么可以通过以下代码实现:

# 使用方式二
data = {'a':range(10),
       'b':[np.random.randint(0,10) for x in range(10)]}
plt.plot('a','b',"",data=data)
plt.show()

在这里插入图片描述

# 使用方式三
mydata = {'a':range(10),
       'b':[np.random.randint(0,10) for x in range(10)]}
mydata = pd.DataFrame(data=mydata)
print(mydata)
plt.plot('a','b',"",data=mydata)
plt.show()
   a  b
0  0  6
1  1  3
2  2  5
3  3  8
4  4  5
5  5  7
6  6  5
7  7  9
8  8  5
9  9  0

在这里插入图片描述

3.2 plot函数设置线条形状

import matplotlib.pyplot as plt
# plt.plot 中 x,y 参数只能通过位置参数的形式传入
plt.plot(range(10),[np.random.randint(0,10) for x in range(10)],"-.")
plt.show()

在这里插入图片描述

其中使用:代表点线,是matplotlib的一个缩写。这些缩写还有以下的:

字符类型字符类型
‘-’实线‘–’虚线
‘-.’虚点线‘:’点线
‘.’‘,’像素点
‘o’圆点‘v’下三角点
‘^’上三角点‘<’左三角点
‘>’右三角点‘1’下三叉点
‘2’上三叉点‘3’左三叉点
‘4’右三叉点‘s’正方形
‘p’五角点‘*’星形点
‘h’六边形点1‘H’六边形点2
‘+’加号‘x’乘号点
‘D’实心菱形点‘d’瘦菱形点
‘_’横线点

3.3 plot函数设置线条颜色

plt.plot([1,2,3,4,5],[1,2,3,4,5],'r') #将颜色线条设置成红色
plt.plot([1,2,3,4,5],[1,2,3,4,5],color='red') #将颜色设置成红色
plt.plot([1,2,3,4,5],[1,2,3,4,5],color='#000000') #将颜色设置成纯黑色
plt.plot([1,2,3,4,5],[1,2,3,4,5],color=(0,0,0,0)) #将颜色设置成纯黑色
[<matplotlib.lines.Line2D at 0x1800983d108>]

在这里插入图片描述

  • 给线条设置颜色总体来说有三种方式
    1. 第一种是使用颜色名称(r是red的缩写)的形式
    2. 第二种是使用 十六进制 的方式
    3. 第三种是使用 RGB 或 RGBA 的方式。如果使用的是颜色名称,那么可以和线的形状写在同一个字符串中。比如使用红色的五角点,那么可以使用如下的方式实现:
plt.plot([1,2,3,4,5],[1,2,3,4,5],'rp') #将颜色线条设置成红色
plt.show()

在这里插入图片描述

  • 其中可以表示颜色的缩写字符有如下:
    |字符 |颜色|
    |:–|:–|
    |‘b’ |蓝色,blue|
    |‘g’ |绿色,green|
    |‘r’ |红色,red|
    |‘c’ |青色,cyan|
    |‘m’ |品红,magenta
    |‘y’ |黄色,yellow|
    |‘k’ |黑色,black|
    |‘w’ |白色,white|

3.4 设置图的信息

现在我们添加图后,没有指定x轴代表什么,y轴代表什么,以及这个图的标题是什么。因此以下我们通过一些属性来设置一下

3.4.1 设置线条样式

  1. 使用plot方法:plot方法就是用来绘制线条的,因此可以在绘制的时候就把线条相关的样式通过参数传进去。示例代码如下:
x = range(10)
y = np.random.randint(10,size=(10,))
# 设置线条的粗细
plt.plot(x,y,linewidth=2)
plt.show()

在这里插入图片描述

  1. 通过Line2D对象来设置:plot方法会返回一个装有Line2D对象的列表,比如lines=plt.plot(x1,y1,x2,y2)因为绘制了两根线条,因此lines中会有两个2D对象。而如果plot只绘制一根线条,那么lines中就只有一个Line2D对象。拿到这个Line2D对象后就可以通过set_属性名设置线条的样式了
y1 = np.random.randint(10,size=(10,)) 
y2 = np.random.randint(10,size=(10,)) 
lines = plt.plot(range(10),y1,range(10),y2)
# 设置第一条线的属性
line = lines[0]
line.set_aa(False) #关掉反锯齿
line.set_alpha(0.5) #设置0.5的透明度

在这里插入图片描述

  1. 使用plt.setp来设置:setp的好处是一次性可以设置多根线条的样式。示例代码如下:
lines = plt.plot(x,y)
plt.setp(lines,linewidth=10,alpha=0.5)
plt.show()

在这里插入图片描述

  1. 更多Line2D属性:
    在这里插入图片描述

3.4.2 设置轴和标题

  1. 设置轴名称:可以通过plt.xlabel和plt.ylabel来设置x轴和y轴的的名称。示例代码如下:
from matplotlib import font_manager
# 默认情况下是显示不了中文的。需要设置字体。可以通过以下代码来实现
font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
plt.plot(range(10),np.random.randint(10,size=(10,)),linewidth=10,color='red')
# fontproperties设置中文的编码
# size设置字体大小
plt.xlabel("x轴",fontproperties=font,size=20)
plt.ylabel("y轴",fontproperties=font,size=20)
plt.show()

在这里插入图片描述

加载字体的时候,可以到C:\Windows\Fonts中找你喜欢的并且可以显示中文的字体。找到字体后,还需要找到字体的真实名称。方法是右键->属性->安全->对象名称:
在这里插入图片描述

  1. 设置标题:可以通过plt.title方法来实现。示例代码如下:
font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
plt.title("sin函数",fontproperties=font)
plt.show()

在这里插入图片描述

  1. 设置x轴和y轴的刻度:之前我们画的图,x轴和y轴的刻度都是matplotlib自动生成的。如果想要在生成图的时候手动的指定,那么可以通过plt.xticks和plt.yticks来实现:
plt.xticks(range(0,20,2)) #在x轴上的刻度是0,2,4,6...20
plt.show()

在这里插入图片描述

以上会把那个刻度显示在x轴上。如果想要显示字符串类型,那么可以再构造一个数组,这个数组的长度必须和x轴刻度的长度保持一致。然后传给xticks的第二个参数。示例代码如下

_x = range(0,20,2)
_xticks = ["%d坐标"%i for i in _x]
plt.xticks(_x,_xticks,fontproperties=font) #在x轴上的刻度是0坐标,2坐标...20坐标
plt.show()

在这里插入图片描述

同样y轴的刻度设置也是一样的。示例代码如下:

_y = np.arange(-1,1,0.25)
_yticks = ["%.2f点"%i for i in _y]
plt.yticks(_y,_yticks,fontproperties=font)
plt.show()

在这里插入图片描述

  1. 复仇者联盟电影票房案例
avenger = [17974.4,50918.4,30033.0,40329.1,52330.2,19833.3,11902.0,24322.6,47521.8,32262.0,22841.9,12938.7,4835.1,3118.1,2570.9,2267.9,1902.8,2548.9,5046.6,3600.8]
# 创建一个图例(设置长宽大小)
plt.figure(figsize=(15,5))
# marker 设置转折点的样式
plt.plot(avenger,marker="o")
# 设置字体大小
font.set_size(10)
# 设置横轴刻度
plt.xticks(range(20),["第%d天"%x for x in range(1,21)],fontproperties=font)
# 设置轴名称
plt.xlabel("天数",fontproperties=font)
plt.ylabel("票房数(万)",fontproperties=font)
plt.title("复仇者联盟前20天票房信息",fontproperties=font,size=20)
# 设置网格
plt.grid()

在这里插入图片描述

3.4.3 marker 设置转折点的样式

有时候,我们想要在一些关键点上重点标记出来。那么我们可以通过设置marker来实现。示例代码如下:

x = np.linspace(0,20)
y = np.sin(x)
plt.plot(x,y,marker="o",color='red')
plt.show()

在这里插入图片描述

我们设置了marker为o,这样就是会在(x,y)的坐标点上显示出来,并且显示的是圆点。其中o跟之前的线条样式的简写是一样的。另外,还可以通过 markerfacecolor属性和 markersize来指定标记点的颜色和大小。示例代码如下:

# 以下设置标记点的颜色为黑色,尺寸为10
plt.plot(x,y,marker="o",markerfacecolor='k',markersize=10)
plt.show()

在这里插入图片描述

3.4.4 设置注释文本

有时候需要在图形中的某个点标记或者注释一下。那么我们可以使用 plt.annotate(text,xy,xytext,arrowprops={})来实现,其中text是注释的文本,xy是需要注释的点的坐标,xytext是注释文本的坐标,arrowprops是箭头的样式属性。示例代码如下:

ax = plt.subplot(111)

x = np.arange(0.0, 5.0,0.25)
y = np.cos(2*np.pi*x)
plt.plot(x, y,linewidth=2)

# 设置指定点的文字标注
plt.annotate('local max', xy=(2, 1), xytext=(3, 1.5),
arrowprops=dict(facecolor='black',shrink=0.05),
)

# 显示各点的坐标值
for x,value in enumerate(y):
#     print(x)
    plt.annotate('(%.2f,%.2f)'%(x,value),xy=(x,value),xytext=(x-0.1,value-0.1))
    

# 限制纵坐标的长度区间
plt.ylim(-2, 2)
plt.show()

在这里插入图片描述

3.4.5 设置图形(画板)样式

  • 如果想要调整图片的大小和像素,可以通过plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)来实现。
    1. num是图的编号
    2. figsize的单位是英寸
    3. dpi是每英寸的像素点
    4. facecolor是图片背景颜色
    5. edgecolor是边框颜色
    6. frameon代表是否绘制画板。
      示例代码如下:
plt.figure(figsize=(22,8),dpi=80)
# 其他的绘制图形的代码
<Figure size 1760x640 with 0 Axes>




<Figure size 1760x640 with 0 Axes>
  • 我们也可以使用grid方法,来显示图片的网格:
plt.figure(figsize=(22,8),dpi=80)
# 其他的绘制图形的代码
plt.plot(range(10),np.random.randint(10,size=(10,)),color="r")
plt.grid()

在这里插入图片描述

3.4.6 保存图片

可以调用plt.savefig(path)来保存当前的图片。示例代码如下:

plt.savefig("./abc.png")
<Figure size 432x288 with 0 Axes>

3.5 绘制多个图

绘制多个图有两种形式,第一种形式是在一张图中绘制多根线条,第二种形式是绘制多个子图形。以下分别进行讲解。

3.5.1 绘制多根折线

绘制多根线条,只要准备好坐标,重新使用plt.plot绘制即可。示例代码如下:

from matplotlib import font_manager
x = np.linspace(0,20)
y = np.sin(x)
z = np.cos(x)
font = font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
# 设置轴名称
plt.xlabel("x轴",fontproperties=font)
plt.ylabel("y轴",fontproperties=font)
# 设置轴刻度
_x = range(0,20,2)
_xticks = ["%s点"%i for i in _x]
plt.xticks(range(0,20,2),_xticks,fontproperties=font,rotation=45)
_y = list(np.arange(-1,1,0.25))
_yticks = ["%.2f点"%i for i in _y]
plt.yticks(_y,_yticks,fontproperties=font)
plt.plot(x,y)
plt.plot(x,z)
plt.show()

在这里插入图片描述

3.5.2 绘制多个子图

绘制子图的时候,我们可以使用plt.subplotplt.subplots来实现。示例代码如下:

# 创建一个画板
plt.figure()
# 设置当前画板中的图形位置
plt.subplot(221)
plt.plot(np.arange(10),c='r')

plt.subplot(222)
plt.plot(np.sin(np.arange(10)),c='b')

plt.subplot(223)
plt.plot(np.cos(np.arange(10)),c='y')

plt.subplot(224)
plt.plot(np.tan(np.arange(10)),c='g')
plt.show()

在这里插入图片描述

其中subplot中的211和212分别代表的意思是,第一个数表示这个大图中总共有2行,第二个数表示总共有1列,然后第三个数表示当前绘制第几个图(第三个数从1开始算起)

  • 也可以使用fig,axs=plt.subplots(rows,cols,*args,**kwargs)来绘制多个图形,返回值是一个元组,其中的fig参数是figure对象,axs是axes对象的array。示例代码如下:
figure,axes = plt.subplots(2,2)
axes[0,0].plot(np.sin(np.arange(10)),c='r')
axes[0,1].plot(np.cos(np.arange(10)),c='b')
axes[1,0].plot(np.tan(np.arange(10)),c='y')
axes[1,1].plot(np.arange(10),c='g')
plt.show()

在这里插入图片描述

  • 效果图跟之前使用plt.subplot一样。另外使用subplot和subplots都可以传递sharex/sharey参数,这两个参数表示是否需要共享X轴和Y轴。示例代码如下:
figure,axes = plt.subplots(2,2,sharex=True,sharey=True)
axes[0,0].plot(np.sin(np.arange(10)),c='r')
axes[0,1].plot(np.cos(np.arange(10)),c='b')
axes[1,0].plot(np.tan(np.arange(10)),c='y')
axes[1,1].plot(np.arange(10),c='g')
plt.show()

在这里插入图片描述

3.6 风格设置

matplotlib图片默认内置了几种风格。我们可以通过plt.style.available来查看内置的所有风格:

['bmh',
'classic',
'dark_background',
'fast',
'fivethirtyeight',
'ggplot',
'grayscale',
'seaborn-bright',
'seaborn-colorblind',
'seaborn-dark-palette',
'seaborn-dark',
'seaborn-darkgrid',
'seaborn-deep',
'seaborn-muted',
'seaborn-notebook',
'seaborn-paper',
'seaborn-pastel',
'seaborn-poster',
'seaborn-talk',
'seaborn-ticks',
'seaborn-white',
'seaborn-whitegrid',
'seaborn',
'Solarize_Light2',
'tableau-colorblind10',
'_classic_test']
['bmh',
 'classic',
 'dark_background',
 'fast',
 'fivethirtyeight',
 'ggplot',
 'grayscale',
 'seaborn-bright',
 'seaborn-colorblind',
 'seaborn-dark-palette',
 'seaborn-dark',
 'seaborn-darkgrid',
 'seaborn-deep',
 'seaborn-muted',
 'seaborn-notebook',
 'seaborn-paper',
 'seaborn-pastel',
 'seaborn-poster',
 'seaborn-talk',
 'seaborn-ticks',
 'seaborn-white',
 'seaborn-whitegrid',
 'seaborn',
 'Solarize_Light2',
 'tableau-colorblind10',
 '_classic_test']

在绘制的,可以使用plt.style.use方法来使用不同的风格。示例代码如下:

plt.style.use("dark_background")

3.7 官方文档

  1. plt.plot使用详解:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
  2. matplotlib.pyplot使用详解:https://matplotlib.org/api/pyplot_summary.html
  3. matplotlib内置的样式:https://tonysyu.github.io/raw_content/matplotlib-style-gallery/gallery.html

3.8 总结

3.8.1 plot基本使用细节

  1. plt.plot 可以只传Y轴的值,如果只传Y轴的值,那么X轴就会默认使用range(0,Y的长度)

  2. plt.plot的x和y参数不能够作为关键字参数来传递,只能作为位置参数来传

  3. plt.plot中的data参数可以为一个字典或者DataFrame对象,然后再 x 和 y 上指定这个列的名字,那么plot会自动读取。这里有一个细节,因为 x,y,fmt 都是在前面,所以如果只传 x 和 y,那么就会产生歧义,这时候我们可以多穿一个空的参数作为 fmt 的参数,就不会有警告了

3.8.2 plot设置线条样式

  1. plt.plot的fmt参数可以设置线条的样式以及颜色

  2. plt.plot的color参数可以使用字母、十六进制,或者是RGBA的方式设置颜色

  3. 使用 plot 绘图的时候,就可以传递Line2D的属性值来修改线条的样式

  4. 使用plot返回的线条,单独去设置也可以,但是单独设置的时候,是通过 set_Line2D属性名()的方式来设置

  5. 使用plt.setp来一次性设置多个线条的样式

3.8.3 设置图例信息

  1. 标题是通过plt.title来设置的
  2. 刻度是通过 xticks 和 yticks 来设置的。xticks 和 yticks 需要传递两个参数,第一个参数不重要,只要跟数据量保持一致就可以了,比如有20个数据,那么只要参数20个数据的数组或者列表都可以,第二个参数labels是用来设置每个刻度上的文本显示,这个就比较重要了
  3. 轴的名词是通过 xlabel 和 xlabel来设置的
  4. 默认plot是不支持中文的,如果想要支持中文,那么应该创建一个字体对象 matplotlib.font_manager.FontProperties,然后指定 frame 参数,需要具体的路径。这里还有一个小细节,拷贝出来的字体的字符串,前面有一个乱码,要把这个乱码删掉

3.8.4 设置坐标点的样式

  1. plt.plot可以通过marker参数设置坐标点的样式。markerfacecolor代表的是点的颜色,markeredgecolor代表的是点的边界的颜色,markersize代表的是点的大小
  2. plt.annotate是用来做文本注释的,text代表的是需要注释的文本,xy代表的是需要注释的坐标点,xytext代表的是文本的坐标点,arrowprops代表的是箭头的一些属性

3.8.5 设置画板(图形)的样式

  1. 画板的样式:通过调用 plt.figure 来实现,这个函数调用必须要在所有绘图之前来完成
  • figsize:画板的尺寸,是一个元组,第一个参数是宽度,第二个参数是高度。单位是英寸
  • facecolor:画板颜色,注意区分Axes的背景颜色s
  • edgecolor:边框颜色,边框默认的宽度是0,因此如果想要看到边框,那么需要设置linewith=2
  • dpi:像素,也就是一个英寸中的像素点,默认是100,如果想要增加分辨率,那么就可以把dpi设置大一点
  1. 保存图片
  • plt.savefig
  • 鼠标左键点击图片,然后邮件保存图片

3.8.6 多个图的绘制

  1. 如果想要在一个图上绘制多根折线图,那么直接在plot中传递多个 x 和 y 就可以了,或者调用多次 plot 方法就可以了
  2. 如果想要在一个画板上绘制多个子图(Axes对象),那么可以使用 plt.subplotplt.subplots方法
  • plt.subplot:plt.subplot(221),第一个数字代表行,第二个数字代表列,第三个数字代表当前第几个子图。使用subplot后绘制的所有东西都是在当前子图上,直到出现新的subplot
  • plt.subplots:plt.subplots(2,2),第一个代表行,第二个代表列,这个方法是一次性把所有的子图都绘制了,但是在子图上没有东西,我们需要使用它的返回值来绘制,axes就是子图的对象
  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ModelBulider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值