概述

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

为了实现添加坐标轴的功能,我们需要借助 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()

画图结果如下:

往期回顾

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

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

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: