【机器学习基础 2】matplotlib库
创始人
2024-06-03 02:33:07
0

目录

一、什么是matplotlib库

二、基本用法

1、绘制简单的线图

 plot()函数:

2、绘制散点图

scatter()函数:

3、绘制条形图 

bar()函数:

4、绘制饼图

pie()函数:

三、重要用法

1、设置样式

2、添加标签

3、设置坐标轴范围

4、绘制多个图表

5、绘制3D图表

四、注意点

五、在机器学习中的应用

样例:

1、绘制线条

2、绘制散点图

3、绘制直方图


一、什么是matplotlib库

  matplotlib是一个用于绘制各种类型图表的Python绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。它支持各种不同的图表类型,包括线图、散点图、条形图、饼图等。

        Matplotlib模块中最常用的是pyplot子模块,其中包含我们需要的诸多功能函数,因此在开始使用前,我们依旧约定,将matplotlib库的pyplot子库写法做如下简化:

import matplotlib.pyplot as plt

二、基本用法

1、绘制简单的线图

 plot()函数:

        绘制曲线可用函数。绘制过程需在画布上进行,如果没事先显式创造画布对象,则plot会在绘制前隐式地创建一个画布

        基本格式为:plt.plot(x, y, format_string, **kwargs)

其中:x、y为所对应轴的数据,是列表或数组;format_string为控制曲线的格式字符串(可选);参数四则表示第二组或更多组(x, y, format_string)数据

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 绘制图表
plt.plot(x, y)# 显示图表
plt.show()

输出结果:

2、绘制散点图

scatter()函数:

散点图的绘制工具,基本格式为:plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,vmin=None, vmax=None, alpha=None, linewidths=None,verts=None, edgecolors=None, hold=None, data=None,**kwargs)

其中:

x,y:输入数据,形状为 shape(n,))的数组。

c:标记的颜色,可选,默认为'b'即蓝色。

marker:标记的样式,默认为'o'。

alpha:透明度,实数,0~1。

linewidths:标记点的宽度。

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 绘制图表
plt.scatter(x, y)# 显示图表
plt.show()

输出结果:

3、绘制条形图 

bar()函数:

绘制条形图的工具,基本格式为:bar(x,height, width=0.8,bottom=None,hold=None,data=None,**kwargs)

其中:

x:x轴刻度,为数值序列或字符串序列

height:y轴,展示的数据→柱形图高度

import matplotlib.pyplot as plt# 创建数据
labels = ['A', 'B', 'C', 'D']
values = [1, 4, 9, 16]# 绘制图表
plt.bar(labels, values)# 显示图表
plt.show()

输出结果:

4、绘制饼图

pie()函数:

饼图绘制工具,基本格式为:plt.pie(values, labels=labels, colors=colors, explode=explode, autopct=autopct, shadow=shadow)

其中:

values:表示饼图的数值,可以是一个序列或者列表;
labels:表示饼图各部分的标签,可以是一个序列或者列表;
colors:表示饼图各部分的颜色,可以是一个序列或者列表;
explode:表示饼图各部分与中心的距离,可以是一个序列或者列表;
autopct:表示饼图各部分所占比例的显示方式;
shadow:表示是否给饼图添加阴影。

注意:values参数是必须要指定的,而其他参数都是可选的。同时,labels、colors、explode、autopct这些参数的长度必须与values的长度相同。

import matplotlib.pyplot as plt# 创建数据
labels = ['A', 'B', 'C', 'D']
values = [1, 4, 9, 16]# 绘制图表
plt.pie(values, labels=labels)# 显示图表
plt.show()

输出结果:

三、重要用法

        除了基本用法,matplotlib还有许多重要的用法,例如设置图表的样式、添加标签、设置坐标轴范围等

1、设置样式

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 设置样式
plt.style.use('ggplot')# 绘制图表
plt.plot(x, y)# 显示图表
plt.show()

 效果如下:

2、添加标签

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 绘制图表
plt.plot(x, y)# 添加标签
plt.title('Square Numbers')
plt.xlabel('Value')
plt.ylabel('Square of Value')# 显示图表
plt.show()

效果如下:

 

3、设置坐标轴范围

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]# 绘制图表
plt.plot(x, y)# 设置坐标轴范围
plt.xlim(0, 5)
plt.ylim(0, 20)# 显示图表
plt.show()

 效果如下:

4、绘制多个图表

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [1, 2, 3, 4]# 绘制图表
plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title('Subplots Example')
plt.ylabel('Square of Value')plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.xlabel('Value')
plt.ylabel('Value')# 显示图表
plt.show()

效果如下:

5、绘制3D图表

import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import numpy as np# 创建数据
fig = plt.figure()
ax = plt.axes(projection='3d')z = np.linspace(0, 1, 100)
x = z * np.sin(25 * z)
y = z * np.cos(25 * z)# 绘制图表
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D Line Plot')# 显示图表
plt.show()

效果如下:

四、注意点

在使用matplotlib库时,有一些要注意的点:

  • 使用plt.show()命令显示图表。在交互模式下,图表会自动显示,但在脚本模式下,需要使用plt.show()命令显示图表。如果没有显示图表,可以尝试添加plt.show()命令。
  • 使用plt.plot()绘制线条时,可以设置颜色、线型、标记等属性。例如,plt.plot(x, y, 'ro-')表示绘制红色圆圈标记的线条。
  • 使用plt.xlabel()plt.ylabel()设置坐标轴标签,使用plt.title()设置图表标题。
  • 使用plt.xlim()plt.ylim()设置坐标轴范围,使用plt.xticks()plt.yticks()设置坐标轴刻度。
  • 使用plt.legend()添加图例,可以在图表中显示每个线条的标签。

五、在机器学习中的应用

matplotlib库在机器学习中的应用非常广泛,主要是用于数据可视化和结果分析,常见的应用场景包括:

  1. 数据可视化:在机器学习中,我们通常需要对数据进行可视化,以便更好地理解数据、发现数据中的规律和趋势、选择合适的特征和算法等。matplotlib库提供了丰富的绘图函数和工具,可以绘制线条、散点图、直方图、箱线图、热力图等,方便用户进行数据探索和分析。

  2. 模型性能评估:在机器学习中,我们需要对模型的性能进行评估,例如计算准确率、召回率、F1值等指标。matplotlib库提供了绘制ROC曲线、学习曲线、验证曲线等函数,可以直观地展示模型的性能,帮助用户进行结果分析和模型选择。

  3. 结果可视化:在机器学习中,我们需要将模型训练的结果进行可视化,例如绘制分类决策边界、预测结果等。matplotlib库提供了绘制等高线图、3D图、动态图等函数,可以展示模型的决策边界、分类效果等,方便用户进行结果可视化和模型调整。

总的来说,matplotlib库是机器学习中不可或缺的数据可视化工具,可以帮助用户更好地理解数据和模型,进行结果分析和模型选择。

样例:

1、绘制线条

import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 绘制线条
plt.plot(x, y)# 设置标题和坐标轴标签
plt.title('Sin Function')
plt.xlabel('X')
plt.ylabel('Y')# 显示图表
plt.show()

 效果如下:

2、绘制散点图

import matplotlib.pyplot as plt
import numpy as np# 生成数据
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)# 绘制散点图
plt.scatter(x, y, c=colors)# 设置标题和坐标轴标签
plt.title('Random Data')
plt.xlabel('X')
plt.ylabel('Y')# 显示图表
plt.show()

效果如下:

3、绘制直方图

import matplotlib.pyplot as plt
import numpy as np# 生成数据
data = np.random.randn(1000)# 绘制直方图
plt.hist(data, bins=30)# 设置标题和坐标轴标签
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')# 显示图表
plt.show()

效果如下:

 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...