【matplotlib】可视化解决方案——如何向画布中添加坐标轴

概述

有些时候我们可能需要在画布中添加坐标轴,这种做法非常类似于在画布中设置子区,但是设置子区这种方式不能再画布中的任意位置进行,添加坐标轴却可以在画布中进行任意结构的多图视图布局。通过向画布中添加坐标轴,我们可以实现在一个画布中嵌套多个坐标轴的视图布局。例如,如果需要展示相同数据的不同展现形式或者相同实例的不同属性,就需要通过坐标轴生成的多个视图来表达,从而将所有的图形放到一张图中。

为了实现添加坐标轴的功能,我们需要借助 pyplot.axes API 进行设置,该方法将一个 Axes 对象添加到当前窗口并使之称为当前 Axes,其定义如下:

def matplotlib.pyplot.axes(arg=None, **kwargs):
    ...

参数如下:

  • Arg:4 元元祖 [left, bottom, width, height],表示添加的 Axes 对象的图形属性,前两个参数代表坐标轴左侧边缘和底侧边缘距画布边缘的距离,后两个参数代表 Axes 对象的宽度和高度;
  • Projection:指定 Axes 对象的投影类型;
  • Polar:如果设置为 True,则相当于projection='polar'
  • Sharex:指定是否共享 X 轴;
  • Sharey:执行是否共享 Y 轴;
  • Label:Axes 对象的标签;
  • Kwargs:其他 Axes 关键字参数;
  • Return:Axes 或者 Axes 子类的实例;

示例

完整代码如下:

import matplotlib.pyplot as plt  
import numpy as np  
  
plt.axes([.1, .7, .3, .3], frameon=True, aspect='equal')  
plt.plot(np.arange(3), [0, 1, 0], color='blue', lw=2, ls='--')  
  
plt.axes([.35, .4, .3, .3], frameon=True, aspect='equal')  
plt.plot(np.arange(3), [0, 1, 0], color='blue', lw=2, ls='-')  
  
plt.axes([.65, .1, .3, .3], frameon=True, aspect='equal')  
plt.plot(np.arange(3), [0, 1, 0], color='blue', lw=2, ls=':')  
  
plt.show()

画图结果如下:

添加坐标轴

往期回顾

  1. 【matplotlib】可视化解决方案——如何正确使用matplotlib颜色系统
  2. 【matplotlib】可视化解决方案——如何实现画布局部放大功能
  3. 【matplotlib】可视化解决方案——如何更改matplotlib配置信息
  4. 【matplotlib】可视化解决方案——如何定制化网格
  5. 【matplotlib】可视化解决方案——如何向画布添加交叉直线
  6. 【matplotlib】可视化解决方案——如何解决matplotlib中文乱码问题
  7. 【matplotlib】可视化解决方案——如何设置matplotlib风格集
  8. 【matplotlib】可视化解决方案——如何设置轴标签的透明度和大小
  9. 【matplotlib】可视化解决方案——如何向图表中添加数据表
  10. 【matplotlib】可视化解决方案——如何更改绘图区域背景颜色

文中难免会出现一些描述不当之处(尽管我已反复检查多次),欢迎在留言区指正,相关的知识点也可进行分享,希望大家都能有所收获!!如果觉得我的文章写得还行,不妨支持一下。你的每一个转发、关注、点赞、评论都是对我最大的支持!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容