Python 数据可视化神器:Matplotlib 全攻略
在数据科学的世界里,可视化是洞察数据的重要窗口。而 Matplotlib 作为 Python 最经典的绘图库,几乎是所有数据从业者的必备技能。本文将带你全面掌握 Matplotlib 的核心功能,从基础绘图到高级应用,让你的数据故事更具说服力。
一、初识 Matplotlib
Matplotlib 是 Python 生态中最成熟的绘图库之一,它能让使用者轻松将数据图形化,并提供多样化的输出格式。无论是静态图表、动态可视化还是交互式图形,Matplotlib 都能胜任。其支持的图表类型包括散点图、柱状图、饼图、直方图等几乎所有常见可视化形式。
二、核心绘图函数:plot () 详解
plot () 是 Matplotlib 中最基础也最常用的绘图函数,它既能绘制点也能绘制线,语法格式如下:
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
基础绘图示例
1.** 绘制线段 **:连接坐标 (1, 3) 到 (8, 10) 的直线
2.** 绘制散点 **:只显示坐标点 (1, 3) 和 (8, 10)


3.** 绘制多段线 **:连接多个坐标点 (1, 3)、(2, 8)、(6, 1)、(8, 10)


4.** 简化绘图 **:不指定 x 轴时,x 会自动设为 0,1,2,...N-1


三、美化图表:标记与线条样式
绘图标记(Marker)
使用marker参数可以为数据点添加标记,让图表更清晰:
标记 "." 描述 点标记
标记 "s" 描述 正方形
标记 "o" 描述 实心圆
标记 "p" 描述 五边形
标记 "v" 描述 下三角
标记 "*" 描述 星号
标记 "^" 描述 上三角
标记 "D" 描述 菱形




格式字符串(fmt)
fmt 参数可以一次性定义标记、线条样式和颜色,格式为[marker][line][color]:


设置标记大小与颜色:














常用线型参数:
'-':实线(默认) '--':破折线 '-.':点划线
':':虚线
常用颜色字符:
'b':蓝色 'g':绿色 'r':红色
'c':青色 'm':品红 'y':黄色
'k':黑色 'w':白色
四、完善图表:标签、标题与网格
一个完整的图表需要清晰的标签和说明,Matplotlib 提供了丰富的函数来完善图表信息。
轴标签与标题




网格线设置
使用grid()函数可以添加网格线,让数据读取更方便:






五、多图绘制:subplot () 函数
当需要对比多组数据时,subplot () 函数可以在一个画布上创建多个子图:


subplot(nrows, ncols, index)参数说明:
nrows:子图的行数
ncols:子图的列数
index:当前子图的索引(从 1 开始)
六、常用图表类型实战
1. 散点图(scatter ())
散点图适合展示两个变量之间的关系:








2. 柱形图(bar ())
柱形图适合比较不同类别的数据:












3. 饼图(pie ())
饼图适合展示各部分占总体的比例:






4. 直方图(hist ())
直方图用于展示数据的分布情况:








七、图像处理:imshow ()
Matplotlib 不仅能绘制图表,还能处理图像数据,这在计算机视觉任务中非常实用。
显示图像(imshow ())
显示灰度图像


显示彩色图像


显示热力图


显示地图


显示矩阵


创建了一个 4x4 的二维 numpy 数组,并对其进行了三种不同的 imshow 图像展示


保存图像(imsave ())





读取图像(imread ())


我们可以通过更改 numpy 数组来修改图像
我们将数组乘以一个数 0≤≤1,图像将变暗


我们可以更改 numpy 数组实现裁剪图像


我们将 RGB 颜色的绿色和蓝色坐标的数组元素设置为 0,我们将得到红色的图像


八、课堂练习与实战
练习 1:绘制正弦余弦图
在同一张图中绘制正弦曲线和余弦曲线:


练习 2:比较价格
很多人在买一本书的时候,都比较喜欢货比三家,例如《python数据分析实战》在亚马逊、当当网、中国图书网、京东和天猫的最低价格分别为39.5、39.9、45.4、38.9、33.34。使用水平柱形图来显示最低价格。


练习 3:学生喜欢球类运动分布饼图
目前学校在统计大家喜欢什么球类运动。已知五年级三班的同学中,喜欢篮球的同学占20%,喜欢乒乓球的同学占30%,喜欢羽毛球的同学占20%,喜欢足球的同学占18%,喜欢排球的同学占12%。请你根据已知条件画出一个饼图,让所占比例看的更加清楚。


九、总结
Matplotlib 作为 Python 数据可视化的基石,提供了强大而灵活的绘图功能。从简单的折线图到复杂的多子图布局,从基础的数据展示到高级的图像处理,Matplotlib 都能满足你的需求。
掌握 Matplotlib 不仅能让你的数据分析报告更加生动,还能帮助你在探索数据的过程中发现隐藏的模式和趋势。勤加练习,灵活运用各种图表类型,让你的数据故事更加精彩!
更多推荐

所有评论(0)