导航菜单
首页 >  数据采集期末考试  > 《数据采集与分析》期末考试Matplotlib部分重要知识点复习(详细版)

《数据采集与分析》期末考试Matplotlib部分重要知识点复习(详细版)

《数据采集与分析》期末考试Matplotlib部分重要知识点复习(详细版)

文章目录《数据采集与分析》期末考试Matplotlib部分重要知识点复习(详细版)一、导入Matplotlib库二、绘制折线图三、绘制饼图四、绘制柱状图五、绘制散点图

一、导入Matplotlib库 import matplotlib.pyplot as plt

如果是在Jupyter Notebook中运行时需要加上下面这条魔法命令。

%matplotlib inline二、绘制折线图

首先我们从简单的开始,先来画一个x=(0,2Π)间sin的图像。

x = np.linspace(0, 2 * np.pi, 50)# 生成一个包含50个元素的数组,这50个元素均匀的分布在[0, 2Π]的区间上y = np.sin(x)plt.plot(x, y)plt.show()

在这里插入图片描述

然后我们为其添加标题和坐标轴标签。

x = np.linspace(0, 2 * np.pi, 50)# 生成一个包含50个元素的数组,这50个元素均匀的分布在[0, 2Π]的区间上y = np.sin(x)plt.plot(x, y)plt.title('Sin Wave')plt.xlabel('x')plt.ylabel('sin(x)')plt.show()

在这里插入图片描述

我们利用marker参数实现‘o’形式画出来:

plt.plot(x, y, marker='o')

在这里插入图片描述

这里我们介绍一下matplotlib库plot()函数参数信息:

x:要绘制的数据的x轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。y:要绘制的数据的y轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。fmt:指定绘图的格式字符串,通常包括颜色、标记和线型等信息。例如,'r-'表示红色实线,'bo’表示蓝色圆圈标记,'g–'表示绿色虚线等。label:给数据添加一个标签,用于在图例中显示。linewidth:指定绘制线条的宽度。linestyle:指定绘制线条的样式,如实线、虚线等。marker:指定绘制数据点的标记,如圆圈、方块等。markersize:指定绘制数据点的大小。color:指定绘制线条或数据点的颜色。alpha:指定绘制线条或数据点的透明度。markerfacecolor:指定绘制数据点的填充颜色。markeredgecolor:指定绘制数据点的边框颜色。markeredgewidth:指定绘制数据点的边框宽度。zorder:指定绘制的层次顺序,数值越大越靠前。

接下来我们在一个图形中分别画出sin()和cos()图像并为其设置不一样的形式:

x = np.linspace(0, 2 * np.pi, 50)# 生成一个包含50个元素的数组,这50个元素均匀的分布在[0, 2Π]的区间上y1=np.sin(x)y2=np.cos(x)plt.plot(x,y1,marker='^',color='r',label="sin(x)")#默认线型是实线plt.plot(x,y2,marker='o',color='g',linestyle='-.',label="cos(x)") #label参数和plt.legend()配合实现图例显示plt.xlim(0,2*np.pi) #设定x轴的取值范围plt.ylim(-1,1)plt.xlabel("x") #设定x轴的标签plt.ylabel("y")plt.title("y=sin(x)/cos(x)")plt.show()

在这里插入图片描述

接下来我们将设定x轴和y轴的取值范围以及设定x轴的刻度:

x=np.linspace(0,2*np.pi,13) #数据点以pi/6(30度)作为分隔间距y1=np.sin(x)y2=np.cos(x)plt.plot(x,y1,marker='^',color='r',label="sin(x)")#默认线型是实线plt.plot(x,y2,marker='o',color='g',linestyle='-.',label="cos(x)") #label参数和plt.legend()配合实现图例显示plt.xlim(0,2*np.pi) #设定x轴的取值范围plt.ylim(-1,1)plt.xlabel("x") #设定x轴的标签plt.ylabel("y")plt.title("y=sin(x)/cos(x)")#设定x轴的刻度,下一条语句可以注释对比一下效果,#其中x[::3]的3表示经过3个数据点加一个标签,可以改成1看的更明显plt.xticks(x[::3],["0",r"$\pi/2$",r"$\pi$",r"$3\pi/2$",r"$2\pi$"],color='b')#"$\pi/2$"属于Latex表示法plt.legend()plt.show()

在这里插入图片描述

这里介绍一下xticks()函数:

其是Matplotlib库中用于设置x轴刻度的函数,其常用参数如下:

ticks:要设置的刻度值,可以是一个列表、元组、数组或其他可迭代对象。labels:要设置的刻度标签,可以是一个列表、元组、数组或其他可迭代对象。rotation:用于指定刻度标签的旋转角度,以度为单位。fontsize:用于指定刻度标签的字体大小。color:用于指定刻度标签的颜色。verticalalignment:用于指定刻度标签的垂直对齐方式,可以选择’top’、‘center’或’bottom’。horizontalalignment:用于指定刻度标签的水平对齐方式,可以选择’left’、‘center’或’right’。minor:用于指定是否设置为次刻度,默认为False。

如果要显示网格:

plt.grid()

在这里插入图片描述

如果要设置网格样式:

plt.grid(axis='x',ls='--')

在这里插入图片描述

这里grid()函数是Matplotlib库中用于添加网格线的函数,其常用参数如下:

b:用于指定是否显示网格线,可以选择True或False,默认为True。which:用于指定要显示的网格线类型,可以选择’major’、‘minor’或’both’,默认为’major’。axis:用于指定要添加网格线的轴,可以选择’both’、‘x’或’y’,默认为’both’。color:用于指定网格线的颜色。linestyle:用于指定网格线的线型,如实线、虚线等。linewidth:用于指定网格线的线宽。 三、绘制饼图

绘制一个简单的饼图并为其填充颜色:

x = [2,4,6,8] #各部分的数值labels=['a','b','c','d'] #各部分的标签colors=['r','y','b','g'] #各部分的颜色plt.pie(x,labels=labels,colors=colors,autopct='%1.1f%%')plt.show()

在这里插入图片描述

这里pie()函数是Matplotlib库中用于绘制饼图的函数,其常用参数如下:

x:要绘制的数据,可以是一个列表、元组、数组或其他可迭代对象。explode:用于指定每个扇形之间的偏移量,可以是一个列表、元组、数组或其他可迭代对象。labels:用于指定每个扇形的标签,可以是一个列表、元组、数组或其他可迭代对象。colors:用于指定每个扇形的颜色,可以是一个列表、元组、数组或其他可迭代对象。autopct:用于指定扇形内显示的数据格式,例如’%.2f’表示保留两位小数。shadow:用于指定是否添加阴影效果,可以选择True或False。startangle:用于指定饼图的起始角度,以度为单位。counterclock:用于指定饼图的绘制方向,可以选择True(逆时针)或False(顺时针)。wedgeprops:用于指定每个扇形的属性,例如边框颜色、边框宽度等。

如果要突出一个部分可以设置explode参数,然后我们还可以使用axis()函数使饼图两个轴的单位长度相等,从而使得饼图接近圆形:

x = [2,4,6,8] #各部分的数值labels=['a','b','c','d'] #各部分的标签colors=['r','y','b','g'] #各部分的颜色explode=(0,0.1,0,0) # explode用于突出显示特定的部分plt.pie(x,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%')#autopct用于显示百分比plt.axis("equal") # 使饼图两个轴的单位长度相等,从而使得饼图接近圆形plt.show()

在这里插入图片描述

这里axis()函数是Matplotlib库中用于设置坐标轴范围的函数,其常用参数如下:

xmin、xmax、ymin、ymax:用于指定x轴和y轴的范围,分别对应最小值和最大值。xmargin、ymargin:用于指定x轴和y轴的缩放范围,可以选择一个小于1的数值。tight:用于指定是否将坐标轴范围设置为数据范围,默认为False。equal:用于指定x轴和y轴的比例是否相等,默认为False。aspect:用于指定x轴和y轴的纵横比例,可以选择’auto’、'equal’或一个数值。 四、绘制柱状图

我们也首先绘制一个简单的柱状图:

position=np.arange(5) #确定每个柱的垂直中线位置,相当于x轴坐标data=[2,10,4,8,6] #确定每个柱的高度,相当于y轴坐标plt.bar(position,data)plt.show()

在这里插入图片描述

这里bar()函数是Matplotlib库中用于绘制柱状图的函数,其常用参数如下:

x:要绘制的每个柱的x轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。height:要绘制的每个柱的高度,可以是一个列表、元组、数组或其他可迭代对象。width:用于指定每个柱的宽度,默认为0.8。bottom:用于指定每个柱的底部位置。align:用于指定每个柱的对齐方式,可以选择’center’、‘edge’或’justify’,默认为’center’。color:用于指定每个柱的颜色,可以是一个列表、元组、数组或其他可迭代对象。edgecolor:用于指定每个柱的边框颜色。linewidth:用于指定每个柱的边框线宽。tick_label:用于指定每个柱的标签,可以是一个列表、元组、数组或其他可迭代对象。

如果要绘制一个水平方向的柱状图:

position=np.arange(5) #确定每个柱的垂直中线位置,相当于x轴坐标data=[2,10,4,8,6] #确定每个柱的高度,相当于y轴坐标plt.barh(x,y,tick_label = data)

在这里插入图片描述

如果要显示数据标签:

position=np.arange(5) #确定每个柱的垂直中线位置,相当于x轴坐标data=[2,10,4,8,6] #确定每个柱的高度,相当于y轴坐标plt.bar(position,data)for x, y in zip(position, data):#显示数据标签plt.text(x, y, '{}'.format(y), ha='center', va='bottom',fontsize=11,color='r') #ha='center', va='bottom'表示水平居中,垂直底部对齐plt.show()

在这里插入图片描述

这里text()函数是Matplotlib库中用于添加文本注释的函数,其常用参数如下:

x、y:文本注释的坐标位置。s:文本注释的内容。fontsize:用于指定文本注释的字体大小。color:用于指定文本注释的颜色。ha:用于指定文本注释的水平对齐方式,可以选择’left’、‘center’或’right’。va:用于指定文本注释的垂直对齐方式,可以选择’top’、‘center’或’bottom’。bbox:用于指定文本注释的边框样式,可以设置边框颜色、填充颜色等。fontweight:用于指定文本注释的字体粗细。 五、绘制散点图

绘制一个简单的服从标准正态分布的随机数红蓝散点图:

rd = np.random.RandomState(0) #设置随机数种子,保证每次运行程序生成的随机数序列相同x1 = rd.randn(100)#生成100个服从标准正态分布的随机数y1 = rd.randn(100)x2 = rd.randn(100)y2 = rd.randn(100)plt.scatter(x1,y1,c='blue')plt.scatter(x2,y2,c='red')plt.show()

在这里插入图片描述

我们为其添加图标题和坐标轴标签、图例和网格线:

# 设置随机数种子,保证每次运行程序生成的随机数序列相同rd = np.random.RandomState(0)# 生成数据x1 = rd.randn(100)y1 = rd.randn(100)x2 = rd.randn(100)y2 = rd.randn(100)# 绘制散点图plt.scatter(x1, y1, c='blue')plt.scatter(x2, y2, c='red')# 添加图标题和坐标轴标签plt.title('Scatter Plot')plt.xlabel('X')plt.ylabel('Y')# 添加图例plt.legend(['Group 1', 'Group 2'])# 添加网格线plt.grid(True)plt.show()

在这里插入图片描述

这里scatter()函数是Matplotlib库中用于绘制散点图的函数,其常用参数如下:

x:要绘制的每个点的x轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。y:要绘制的每个点的y轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。s:用于指定每个点的大小,可以是一个标量或一个与x、y相同长度的数组。c:用于指定每个点的颜色,可以是一个标量或一个与x、y相同长度的数组,也可以是一个字符串(例如’r’表示红色)或一个颜色序列。marker:用于指定每个点的形状,可以选择不同的标记类型,例如’.'表示小圆点,‘o’表示大圆点,’+'表示十字叉等。alpha:用于指定每个点的透明度,可以选择一个介于0和1之间的数值。cmap:用于指定颜色映射,例如’viridis’、‘plasma’、'inferno’等。

相关推荐: