Python利用matplotlib做图中图及次坐标轴的实例


Posted in Python onJuly 08, 2019

图中图

准备数据

import matplotlib.pyplot as plt

fig = plt.figure()
x = [1, 2, 3, 4, 5, 6, 7]
y = [1, 3, 4, 2, 5, 8, 6]

- 大图

首先确定大图左下角的位置以及宽高:

注意,4个值都是占整个figure坐标系的百分比。在这里,假设figure的大小是10x10,那么大图就被包含在由(1, 1)开始,宽8,高8的坐标系内。

# below are all percentage
left, bottom, width, height = 0.1, 0.1, 0.8, 0.8
ax1 = fig.add_axes([left, bottom, width, height]) # main axes
ax1.plot(x, y, 'r')
ax1.set_xlabel('x')
ax1.set_ylabel('y')
ax1.set_title('title')

将大图坐标系添加到figure中,颜色为r(red),取名为title:

Python利用matplotlib做图中图及次坐标轴的实例

- 小图

接着,我们来绘制左上角的小图,步骤和绘制大图一样,注意坐标系位置和大小的改变

ax2 = fig.add_axes([0.2, 0.6, 0.25, 0.25]) # inside axes
ax2.plot(y, x, 'b')
ax2.set_xlabel('x')
ax2.set_ylabel('y')
ax2.set_title('title inside 1')

Python利用matplotlib做图中图及次坐标轴的实例

最后,我们来绘制一个右下角的小图。这里我们采用一种更简单方法,即直接往plt里添加新的坐标系

# different method to add axes
####################################
plt.axes([0.6, 0.2, 0.25, 0.25])
plt.plot(y[::-1], x, 'g')
plt.xlabel('x')
plt.ylabel('y')
plt.title('title inside 2')

注意对y进行了逆序处理

Python利用matplotlib做图中图及次坐标轴的实例

次坐标轴

有时候我们会用到次坐标轴,即在同个图上有第2个y轴存在。同样可以用matplotlib做到

第一个Y 坐标

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 *y1

fig, ax1 = plt.subplots()

第二个坐标轴

对ax1调用twinx()方法,生成如同镜面效果后的ax2

接着进行绘图, 将 y1, y2 分别画在 ax1, ax2 上:

ax2 = ax1.twinx()  # mirror the ax1
ax1.plot(x, y1, 'g-')
ax2.plot(x, y2, 'b-')

ax1.set_xlabel('X data')
ax1.set_ylabel('Y1 data', color='g')
ax2.set_ylabel('Y2 data', color='b')

plt.show()

Python利用matplotlib做图中图及次坐标轴的实例

同理:改变y2生成图像

Python利用matplotlib做图中图及次坐标轴的实例

以上这篇Python利用matplotlib做图中图及次坐标轴的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Django保护敏感信息的方法示例
May 09 Python
如何通过50行Python代码获取公众号全部文章
Jul 12 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
Django接收post前端返回的json格式数据代码实现
Jul 31 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
Aug 20 Python
使用python实现回文数的四种方法小结
Nov 24 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
keras 多gpu并行运行案例
Jun 10 Python
什么是python的id函数
Jun 11 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
Jun 09 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 #Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 #Python
Python实现的统计文章单词次数功能示例
Jul 08 #Python
用python建立两个Y轴的XY曲线图方法
Jul 08 #Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 #Python
简单了解python的内存管理机制
Jul 08 #Python
python用for循环求和的方法总结
Jul 08 #Python
You might like
解析CodeIgniter自定义配置文件
2013/06/18 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
php绘制一个矩形的方法
2015/01/24 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
PHP实现简单登录界面
2019/10/23 PHP
js保留两位小数使用toFixed实现
2013/07/29 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
JS在IE下缺少标识符的错误
2014/07/23 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
js运动事件函数详解
2016/10/21 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
Bootstrap fileinput组件封装及使用详解
2017/03/10 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
JS闭包的几种常见形式实例详解
2017/09/16 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
Python告诉你木马程序的键盘记录原理
2019/02/02 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
FOREO官方网站:LUNA露娜洁面仪
2016/11/28 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
小学生家长评语集锦
2014/01/30 职场文书
党校个人自我鉴定范文
2014/03/28 职场文书
《泉水》教学反思
2014/04/11 职场文书
实习生评语
2014/04/26 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
自主招生专家推荐信
2015/03/26 职场文书
驳回起诉裁定书
2015/05/19 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
Python面向对象编程之类的概念
2021/11/01 Python