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进程管理工具supervisor使用实例
Sep 17 Python
在win和Linux系统中python命令行运行的不同
Jul 03 Python
Python选课系统开发程序
Sep 02 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
WxPython建立批量录入框窗口
Feb 27 Python
基于python实现从尾到头打印链表
Nov 02 Python
Python Django中间件,中间件函数,全局异常处理操作示例
Nov 08 Python
在python3中使用shuffle函数要注意的地方
Feb 28 Python
Python实现EM算法实例代码
Oct 04 Python
Selenium环境变量配置(火狐浏览器)及验证实现
Dec 07 Python
pytorch 6 batch_train 批训练操作
May 28 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
php去除重复字的实现代码
2011/09/16 PHP
PHP中的替代语法介绍
2015/01/09 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
jQuery Validate表单验证入门学习
2015/12/18 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
使用Python3编写抓取网页和只抓网页图片的脚本
2015/08/20 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
python 画图 图例自由定义方式
2020/04/17 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
校领导推荐信
2013/11/01 职场文书
房地产出纳岗位职责
2013/12/01 职场文书
元旦晚会感言
2014/03/12 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
班长竞选演讲稿
2014/04/24 职场文书
初二学生评语大全
2014/12/26 职场文书
搞笑老公保证书
2015/02/26 职场文书
python中取整数的几种方法
2021/11/07 Python
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python
win10输入法不见了只能打出字母怎么解决?
2022/08/05 数码科技