Matplotlib:Python 数据可视化的标准答案

做数据分析的人应该都绕不开 Matplotlib。这个库从 2003 年开始维护,到现在已经二十多年,GitHub 上拿了 2.2 万多个 Star,是 Python 生态里最老牌的绘图库。

正文顶部截图

它能干什么

简单说,就是把数据变成图。折线图、柱状图、散点图、热力图、3D 图,基本上你能想到的图表类型它都支持。生成的图可以直接导出成 PNG、PDF、SVG 等格式,分辨率够发论文用。

除了静态图,它还能做交互式图表和动画。在 Jupyter Notebook 里画图是很多人的日常工作流,Matplotlib 对这块的支持很成熟。

为什么还是它

市面上可视化库不少,Seaborn、Plotly、Bokeh 各有特点,但 Matplotlib 的地位一直没被动摇。原因有几个:

覆盖面最广。 从简单的折线图到复杂的子图布局、坐标轴变换,它都能处理。其他库画不出来的图,绕一层 Matplotlib 通常能解决。

生态绑定深。 Pandas、NumPy、SciPy 这些科学计算库的绑图接口底层都走的 Matplotlib。你在 Pandas 里调 .plot(),背后就是 Matplotlib 在画。

文档和社区成熟。 二十多年积累下来,Stack Overflow 上的问题基本都有答案。遇到问题搜一下,八成能解决。

README区域截图

不足之处

Matplotlib 的 API 设计比较老,画一张简单的图往往要写不少代码。Seaborn 就是在它基础上做了一层封装,用更少的代码画出更好看的图。

另一个问题是默认样式偏朴素。直接画出来的图放在报告里能用,但离"好看"还有距离。不过这个问题有现成方案,plt.style.use('seaborn') 或者 ggplot 主题一行代码就能切换。

适合谁用

如果你刚接触 Python 数据分析,Matplotlib 是第一个要学的可视化库。它未必是最顺手的,但它是基础。学会了它,上手其他可视化库会很快。

如果你在做科研或者需要精确控制图表的每一个细节,Matplotlib 几乎是唯一选择。它的定制能力是所有 Python 绘图库里最强的。

安装方式和标准 Python 库一样,pip install matplotlib 即可。官方文档在 matplotlib.org,建议从 Tutorial 页面开始看。

档在 matplotlib.org,建议从 Tutorial 页面开始看。

更多推荐