一、什么是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)
其中:
alpha:透明度,实数,0~1。
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)
其中:
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()
效果如下:
四、注意点
- 使用
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
库在机器学习中的应用非常广泛,主要是用于数据可视化和结果分析,常见的应用场景包括:
-
数据可视化:在机器学习中,我们通常需要对数据进行可视化,以便更好地理解数据、发现数据中的规律和趋势、选择合适的特征和算法等。
matplotlib
库提供了丰富的绘图函数和工具,可以绘制线条、散点图、直方图、箱线图、热力图等,方便用户进行数据探索和分析。 -
模型性能评估:在机器学习中,我们需要对模型的性能进行评估,例如计算准确率、召回率、F1值等指标。
matplotlib
库提供了绘制ROC曲线、学习曲线、验证曲线等函数,可以直观地展示模型的性能,帮助用户进行结果分析和模型选择。 -
结果可视化:在机器学习中,我们需要将模型训练的结果进行可视化,例如绘制分类决策边界、预测结果等。
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()
效果如下:
原文地址:https://blog.csdn.net/yewanyuan/article/details/129472940
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_11357.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!