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

本文详细介绍了Matplotlib库在数据可视化中的应用,涵盖如何绘制折线图、饼图、柱状图和散点图,包括设置颜色、标记、线型、网格线、饼图填充等关键知识点,是期末考试的重要复习资料。
摘要由CSDN通过智能技术生成

《数据采集与分析》期末考试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()函数参数信息:

  1. x:要绘制的数据的x轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。
  2. y:要绘制的数据的y轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。
  3. fmt:指定绘图的格式字符串,通常包括颜色、标记和线型等信息。例如,'r-'表示红色实线,'bo’表示蓝色圆圈标记,'g–'表示绿色虚线等。
  4. label:给数据添加一个标签,用于在图例中显示。
  5. linewidth:指定绘制线条的宽度。
  6. linestyle:指定绘制线条的样式,如实线、虚线等。
  7. marker:指定绘制数据点的标记,如圆圈、方块等。
  8. markersize:指定绘制数据点的大小。
  9. color:指定绘制线条或数据点的颜色。
  10. alpha:指定绘制线条或数据点的透明度。
  11. markerfacecolor:指定绘制数据点的填充颜色。
  12. markeredgecolor:指定绘制数据点的边框颜色。
  13. markeredgewidth:指定绘制数据点的边框宽度。
  14. 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轴刻度的函数,其常用参数如下:

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

如果要显示网格:

plt.grid()

在这里插入图片描述

如果要设置网格样式:

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

在这里插入图片描述

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

  1. b:用于指定是否显示网格线,可以选择True或False,默认为True。
  2. which:用于指定要显示的网格线类型,可以选择’major’、‘minor’或’both’,默认为’major’。
  3. axis:用于指定要添加网格线的轴,可以选择’both’、‘x’或’y’,默认为’both’。
  4. color:用于指定网格线的颜色。
  5. linestyle:用于指定网格线的线型,如实线、虚线等。
  6. 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库中用于绘制饼图的函数,其常用参数如下:

  1. x:要绘制的数据,可以是一个列表、元组、数组或其他可迭代对象。
  2. explode:用于指定每个扇形之间的偏移量,可以是一个列表、元组、数组或其他可迭代对象。
  3. labels:用于指定每个扇形的标签,可以是一个列表、元组、数组或其他可迭代对象。
  4. colors:用于指定每个扇形的颜色,可以是一个列表、元组、数组或其他可迭代对象。
  5. autopct:用于指定扇形内显示的数据格式,例如’%.2f’表示保留两位小数。
  6. shadow:用于指定是否添加阴影效果,可以选择True或False。
  7. startangle:用于指定饼图的起始角度,以度为单位。
  8. counterclock:用于指定饼图的绘制方向,可以选择True(逆时针)或False(顺时针)。
  9. 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库中用于设置坐标轴范围的函数,其常用参数如下:

  1. xmin、xmax、ymin、ymax:用于指定x轴和y轴的范围,分别对应最小值和最大值。
  2. xmargin、ymargin:用于指定x轴和y轴的缩放范围,可以选择一个小于1的数值。
  3. tight:用于指定是否将坐标轴范围设置为数据范围,默认为False。
  4. equal:用于指定x轴和y轴的比例是否相等,默认为False。
  5. 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库中用于绘制柱状图的函数,其常用参数如下:

  1. x:要绘制的每个柱的x轴坐标值,可以是一个列表、元组、数组或其他可迭代对象。
  2. height:要绘制的每个柱的高度,可以是一个列表、元组、数组或其他可迭代对象。
  3. width:用于指定每个柱的宽度,默认为0.8。
  4. bottom:用于指定每个柱的底部位置。
  5. align:用于指定每个柱的对齐方式,可以选择’center’、‘edge’或’justify’,默认为’center’。
  6. color:用于指定每个柱的颜色,可以是一个列表、元组、数组或其他可迭代对象。
  7. edgecolor:用于指定每个柱的边框颜色。
  8. linewidth:用于指定每个柱的边框线宽。
  9. 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库中用于添加文本注释的函数,其常用参数如下:

  1. x、y:文本注释的坐标位置。
  2. s:文本注释的内容。
  3. fontsize:用于指定文本注释的字体大小。
  4. color:用于指定文本注释的颜色。
  5. ha:用于指定文本注释的水平对齐方式,可以选择’left’、‘center’或’right’。
  6. va:用于指定文本注释的垂直对齐方式,可以选择’top’、‘center’或’bottom’。
  7. bbox:用于指定文本注释的边框样式,可以设置边框颜色、填充颜色等。
  8. 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库中用于绘制散点图的函数,其常用参数如下:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

-北天-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值