Skip to content

100个Matplotlib小技巧,让你精通Python数据绘图

发表: at 13:00

Matplotlib 绘图秘籍:从基础到高级的 100 个技巧大汇总。

图片

今天分享使用Python中二维绘图库Matplotlib的100个技巧:

1 基础绘图

  1. 使用import matplotlib.pyplot as plt导入Matplotlib。
  2. 使用plt.plot()创建简单的折线图。
  3. 通过颜色、线型和标记等参数自定义绘图外观。
  4. 使用plt.show()显示绘图。
  5. 使用plt.savefig()将绘图保存为图像文件。

2 折线图

  1. 多次使用plt.plot()在同一图表上绘制多条折线。
  2. 使用plt.legend()为折线添加标签。
  3. 使用'--''-.'':'等选项自定义线型。
  4. 使用linewidth参数控制线宽。
  5. 使用plt.scatter()突出显示绘图上的特定点。

3 散点图

  1. 使用plt.scatter()创建散点图。
  2. 调整标记的大小和颜色。
  3. 使用颜色映射获取不同的标记颜色。
  4. 使用plt.colorbar()为绘图添加颜色条。
  5. 使用plt.errorbar()在散点图中包含误差线。

4 柱状图

  1. 使用plt.bar()生成柱状图,使用plt.barh()生成水平柱状图。
  2. 自定义柱状的宽度和颜色。
  3. 显示分组或堆积柱状图。
  4. 使用plt.text()在柱状图上添加数值注释。

5 直方图

  1. 使用plt.hist()创建直方图。
  2. 调整 bins 的数量以获得更好的展示效果。
  3. 使用density参数显示概率密度而非计数。
  4. 在同一绘图上叠加多个直方图。

6 饼图

  1. 使用plt.pie()生成饼图。
  2. 为每个扇形指定颜色。
  3. 使用explode参数突出显示特定扇形。
  4. 使用autopct显示百分比标签。

7 子图

  1. 使用plt.subplots()创建子图。
  2. 使用plt.subplot()plt.GridSpec()控制布局网格。
  3. 使用sharexsharey参数在子图之间共享坐标轴。
  4. 使用plt.subplots_adjust()自定义子图之间的间距。

8 注释和文本

  1. 使用plt.text()plt.annotate()向绘图添加文本。
  2. 使用箭头注释特定的数据点。
  3. 在文本中包含LaTeX风格的数学表达式。
  4. 使用plt.title()显示标题。

9 坐标轴和刻度

  1. 使用plt.xlabel()plt.ylabel()自定义坐标轴标签。
  2. 使用plt.xlim()plt.ylim()设置坐标轴范围。
  3. 使用plt.xticks()plt.yticks()控制坐标轴刻度和标签。
  4. 使用plt.xticks()plt.yticks()更改刻度位置和标签。

10 网格和边框

  1. 使用plt.grid()为绘图添加网格。
  2. 使用线型、颜色和线宽自定义网格外观。
  3. 使用plt.spines移除绘图的边框。
  4. 控制边框的可见性和样式。

11 颜色映射

  1. 使用颜色映射可视化三维表面。
  2. 'viridis''plasma''cividis'等类别中选择颜色映射。
  3. 反转颜色映射以获得不同的表示。

12 三维绘图

  1. 使用plt.plot()Axes3D创建三维折线图。
  2. 使用ax.scatter()生成三维散点图。
  3. 使用ax.plot_surface()绘制三维表面。
  4. 自定义三维绘图的视角和投影。

13 误差线和置信区间

  1. 使用plt.errorbar()为折线图添加误差线。
  2. 使用plt.fill_between()显示阴影置信区间。
  3. 绘制两条曲线之间的阴影区域。

14 三维绘图中的注释

  1. 使用ax.text()注释三维绘图中的点。
  2. 为特定数据点添加箭头和文本注释。
  3. 自定义三维绘图中文本的外观。

15 地理绘图

  1. 使用cartopy为地理数据创建地图。
  2. 使用plt.contour()plt.pcolormesh()在地图上绘制数据。
  3. 自定义地图投影和边界。

16 动画

  1. 使用FuncAnimation生成动画。
  2. 在每一帧中动态更新绘图元素。
  3. 将动画保存为GIF或视频。

17 样式和主题

  1. 使用plt.style.use()使用预定义样式。
  2. 使用样式表自定义绘图外观。
  3. 创建自定义样式表。

18 图例

  1. 使用plt.legend()为绘图添加图例。
  2. 将图例放置在不同位置。
  3. 自定义图例的外观和标签。

19 LaTeX渲染

  1. 使用plt.rc('text', usetex=True)在文本和标签中启用LaTeX渲染。
  2. 使用LaTeX表达式表示数学符号。

20 日期和时间格式化

  1. 以正确的日期格式绘制时间序列数据。
  2. 使用matplotlib.dates进行与日期相关的函数操作。
  3. 自定义绘图上的日期刻度和标签。

21 双坐标轴

  1. 使用ax.twinx()ax.twiny()创建双坐标轴。
  2. 在同一绘图上使用不同的y轴绘制多个数据集。

22 极坐标图

  1. 使用plt.polar()生成极坐标图。
  2. 自定义径向和角度网格。
  3. 在极坐标中绘制数据。

23 水印

  1. 使用plt.text()和低透明度(alpha)为绘图添加水印。
  2. 显示低调或透明的水印。

24 导出高质量图形

  1. 使用plt.savefig()并设置DPI(每英寸点数)保存高质量图形。
  2. 以各种格式(PNG、PDF、SVG等)保存图形。
  3. 使用矢量图形以实现可缩放的图形。

25 交互式绘图

  1. 使用plt.ion()plt.ioff()使绘图具有交互性。
  2. 探索像Qt或Tkinter这样的交互式后端。

26 Seaborn集成

  1. 将Seaborn与Matplotlib结合使用以增强美观度。
  2. 使用sns.set_style()设置Seaborn样式。

27 自定义颜色条

  1. 使用plt.colorbar()创建自定义颜色条。
  2. 调整颜色条的外观和位置。
  3. 在子图之间链接颜色条。

28 填充曲线之间的区域

  1. 使用plt.fill_between()填充曲线之间的区域。
  2. 自定义填充颜色、透明度和线型。

29 箭头图

  1. 使用plt.quiver()创建箭头图。
  2. 使用箭头可视化矢量场。
  3. 自定义箭头的外观和密度。

30 小提琴图

  1. 使用plt.violinplot()或Seaborn生成小提琴图。
  2. 自定义小提琴图的外观。
  3. 将小提琴图与其他绘图类型结合使用。

31 流线图

  1. 使用plt.streamplot()绘制流线。
  2. 使用流线可视化矢量场。

这些技巧涵盖了Matplotlib的广泛功能,从基础绘图到自定义、三维绘图、动画等高级技术。在实际数据上尝试这些技巧能帮助你熟练使用Matplotlib创建多样且具有视觉吸引力的绘图。

文章来源:微信公众号-Python学研大本营,原始发表时间:2025年03月18日。


上篇文章
详解带飞大模型的背后大佬MCP | 含用“嘴”写前端代码精装案例 FigmaMCP 应用指引
下篇文章
MCP、RAG、Agent之间的概念和关系,被我和AI协作的12张图总结了