Python+Matplotlib可视化自定义不同图形元素的遮挡关系

2023-08-29 17:05:49 浏览数 (2)

问题描述:

在Matplotlib扩展库进行可视化时,图形窗口中的元素是分层绘制和显示的,距离人眼近的图层会遮挡距离人眼远的图层中的内容。图形元素与人眼距离的远近由其zorder属性来确定,图形元素的zorder属性的值是一个实数,用来表示距离人眼的远近,类似于计算机图形学中透视变换使用的伪深度。绘制图形时如果没有明确设置zorder的值,会使用其默认值,图形窗口中各元素具有不同的zorder默认值,从远到近依次为:

  • AxesImage、FigureImage、BboxImage对象的zorder默认值为0
  • Patch、PatchCollection对象的zorder默认值为1
  • Line2D、LineCollection(包括次要记号、网格线)对象的zorder默认值为2
  • Text(包括轴标签和标题)对象的zorder默认值为3
  • Legend对象的zorder默认值为5

如果需要自定义可视化结果图形中不同元素的远近和遮挡关系,可以明确设置zorder属性来实现。

参考代码:

运行结果:

l1.zorder=2

l2.zorder=2

s1.zorder=1

s2.zorder=1

legend1.zorder=5

legend2.zorder=1.5

0 人点赞