千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 美化Matplotlib的3个小技巧

美化Matplotlib的3个小技巧

来源:千锋教育
发布人:syq
时间: 2022-10-27 11:29:20 1666841360

  Matplotlib是Python的数据可视化库的基础。它是其他可视化工具(如Seaborn)的基础。

  Matplotlib提供了很大的灵活性,因此您可以自定义或调整几乎所有的图表。但是想要完全控制可视化就需要编写更多的代码。

21

  在本文中,我们将介绍3个可以用于定制Matplotlib图表的技巧:

  减少x轴或y轴上的刻度数

  添加一个辅助y轴

  共享x轴的子图坐标对齐

  本文中我们将使用折线图为例,但这些技巧也可以应用于其他类型的图。我创建了一个数据集模拟价格和销售数据。

22

23

  数据包含日期、价格和销售数量列。只显示了数据集的前100行。

  减少刻度数

  如果在轴上绘制的数据点数量很多,刻度看起来非常的紧凑,甚至可能重叠。在处理时间序列数据时,x轴通常包含占用大量空间的日期,所以可以减少轴上的刻度数来提高显示效果。

  让我们先做一个不限制x轴刻度数的例子。

24

25 (1)

  可以看到X轴的刻度重叠并且根本无法显示完整。下面我们添加设置只显示部分的刻度,这样可以完整显示。

26

27

  我们使用NumPy的arange函数来指定标记的位置,现在看起来好多了。

  使用辅助轴

  如果想在同一个图上显示两个变量。例如将产品的价格和销售数量绘制在一起查看价格对销售数量的影响。

  我们的DataFrame中的销售数量和价格列显示在同一线图上,只有一个y轴。

28

  可以看到价格和销售数量的取值范围差距很大我们几乎看不到销售的变化,这时可以使用辅助轴来指定另外一条线的取值范围。

29

30

  看起来好多了。我们可以清楚的观察到价格与销售量之间的反比关系。

  共享x轴的子图坐标对齐

  我们可以在一个Figure对象上创建多个子图。Matplotlib允许使用subplot函数创建子图格。例如下面的代码行创建了一个包含4个子图的2x2网格图。

31

  使用nrows和ncols参数自定义网格的大小。

  如果我们想在2个子图中共享X轴怎么办呢?我们可以使用tight_layout函数。它可以用于调整子图之间的填充:

32

33

  可以看到2个子图的X轴坐标(日期)都已经对齐了,这对于分析时间序列时非常有用的,例如想对比2个产品或者2个不同的门店在同一时期的销售情况,通过对齐日期可以给出非常好的直观判断。

  以上就是3个Matplotlib可视化的小技巧,这些技巧肯定会帮助你创建信息更丰富、功能更强大的数据可视化图表。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT