Python matplotlib库的基本使用指南

周予安
周予安
发布时间:2026-10-14 | 5人浏览过
原创

本文详细介绍Python中matplotlib库的基本使用方法。作为数据分析与机器学习领域最广泛使用的绘图工具,matplotlib通过pyplot模块提供便捷的可视化功能。文章涵盖安装配置、别名设置,并深入讲解plot绘制曲线、hist生成直方图、scatter制作散点图以及pie绘制饼状图的具体代码示例与参数设置,帮助读者快速掌握核心绘图技能。

matplotlib简介

matplotlib简介

对于参与过数学建模竞赛或熟悉MATLAB的用户而言,其强大的绘图功能往往令人印象深刻。MATLAB能够轻松生成各类函数图像及数值分布图,操作便捷且效果出色。即便未曾接触过MATLAB,了解其绘图能力即可。尽管MATLAB功能强大,但作为商业软件,其授权费用较高,且许多开发者更倾向于使用语法简洁的Python。

鉴于MATLAB的收费模式及Python的流行,有开发者在Python中复刻了类似的绘图工具,即本文介绍的matplotlib。它是Python、数据分析及机器学习领域应用最广泛的绘图库,几乎占据主导地位。此前因美国政策限制,部分中国高校无法使用MATLAB,业界建议采用Python开源工具替代。虽然Python在其他领域未必能完全取代MATLAB,但在绘图方面已完全具备替代能力。

matplotlib基本用法与安装

matplotlib 基本用法

matplotlib之所以广受欢迎,核心在于其便捷性与易用性。通过少量代码即可生成高质量图表,这一点在后续经典示例中可见一斑。

我们主要使用matplotlib包下的pyplot库,从命名即可看出其Python属性。若已安装Anaconda等完整Python环境,该库通常已预装。若未安装,可通过简单的pip命令进行安装。


pip install matplotlib

安装完成后,常规做法是将其重命名为plt。因此在阅读源码或他人代码时,常看到plt.xxx形式的调用,这便是由此约定而来。


import matplotlib.pyplot as plt

matplotlib提供多种常用绘图工具:一是用于绘制折线图或曲线图的plot;二是用于绘制柱状图的hist;三是用于绘制散点图的scatter;四是用于绘制饼状图。此外,虽然支持三维图像绘制,但日常使用较少,多用于展示效果。

曲线图绘制

曲线图

plot主要用于绘制曲线图,其原理是通过描点并连接数据点形成光滑曲线。当然,它同样适用于绘制折线和直线,最终呈现效果完全取决于输入数据。

基本用法中,只需传入代表x轴和y轴值的两个列表即可。例如绘制logistic函数图像,代码实现如下:


x = np.linspace(-10, 10, 100)
y = 1 / (1 + np.exp(-x))

plt.plot(x, y)
plt.show()

上述代码首先利用numpy的linspace函数生成-10到10之间均匀分布的100个点的数组。接着计算对应的logistic函数值,即1 / (1 + np.exp(-x))。该函数大家应已熟悉,x为包含100个点的列表,y同样为100个点的列表,每个x对应一个y构成坐标点。

无需进行额外转换,直接将这两个数组传入plt,系统会自动完成坐标映射。最终呈现效果如下。

从效果可见,绘图质量良好。除了完整绘制图像外,坐标轴上还标注了点位,便于数据查看。

直方图绘制

直方图

hist用于绘制直方图,这是一种常见图像类型。在财经领域,常用直方图展示数据走势;在数据分析和机器学习中,则常用于反映某一特征或值的分布情况。

绘制直方图时,只需传入待分析分布的数组,并指定bins参数以设定分桶数量。系统将绘制每个桶中数据数量的直方图,从而直观展示分布形态。


x = np.random.normal(size=200)
plt.hist(x,bins=30)
plt.show()

此处调用numpy中生成正态分布随机数的函数,预期结果应符合正态分布。

观察图像可知,结果与预期基本一致。

散点图绘制

点状图

第三种图像为散点图,用于反映每个点的分布情况。例如在介绍KNN和Kmeans模型时曾使用散点图,每个点代表一个样本,通过散点图观察样本及数据分布。相比直方图,散点图更为直观,直接展示分布而非统计结果。

然而,散点图存在局限:仅能观察二维平面内的点分布,超过三维维度则无法绘制,且三维数据分布难以直观观察。

散点图绘制同样简单,只需调用scatter函数并传入x和y数组即可。


x = np.random.rand(100)
y = np.random.rand(100)

plt.scatter(x, y)

此处x和y均为随机分布,因此结果呈现为散乱无规律的点。

饼状图绘制

饼状图

最后介绍饼状图,这也是常用图表类型。虽然同样反映数据分布,但更侧重于体现某值占总体的比例。通过饼状图可直观了解这一占比关系。

可向pie函数传入列表,系统将依据列表中值在总体中的占比绘制饼状图。示例如下:


a = np.array([0.5, 0.3, 0.2, 0.1, 0.8])

plt.pie(a)

得到的结果如下:

与之前结果相比,饼状图清晰度稍逊,尽管通过不同颜色区分了区域,但难以直观识别每个区域的具体含义。此问题可通过传入参数和设定来展示更多信息,使数据更生动清晰。

本文到此结束,若喜欢本文,请给予关注、转发和点赞支持。

以上为python matplotlib库基本使用的详细内容,更多相关资料请关注本站其他文章。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表