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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python 编码规范整理
May 05 Python
python3实现爬取淘宝美食代码分享
Sep 23 Python
Python 使用matplotlib模块模拟掷骰子
Aug 08 Python
关于python3中setup.py小概念解析
Aug 22 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
Django 限制访问频率的思路详解
Dec 24 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
一文了解python 3 字符串格式化 F-string 用法
Mar 04 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
python中pyqtgraph知识点总结
Jan 26 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
利用js调用后台php进行数据处理原码
2006/10/09 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
最佳的addEvent事件绑定是怎样诞生的
2011/10/24 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
javascript按位非运算符的使用方法
2013/11/14 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
JS实现的表格行上下移动操作示例
2016/08/03 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
js实现移动端轮播图
2020/12/21 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
[19:15]DK战队纪录片
2014/09/02 DOTA
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
extern在函数声明中是什么意思
2014/01/19 面试题
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
高中家长寄语
2014/04/02 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫