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类定义的讲解
Nov 01 Python
python使用os模块的os.walk遍历文件夹示例
Jan 27 Python
17个Python小技巧分享
Jan 23 Python
Python调用C语言开发的共享库方法实例
Mar 18 Python
Python数组遍历的简单实现方法小结
Apr 27 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
python删除某个字符
Mar 19 Python
Python selenium抓取微博内容的示例代码
May 17 Python
Tensorflow使用支持向量机拟合线性回归
Sep 07 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 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
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
Event altKey,ctrlKey,shiftKey属性解析
2013/12/18 Javascript
jQuery中:last选择器用法实例
2014/12/30 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
BootStrap Fileinput初始化时的一些参数
2016/12/30 Javascript
js实现符合国情的日期插件详解
2017/01/19 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
javascript按顺序加载运行js方法
2017/12/01 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
下载给定网页上图片的方法
2014/02/18 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
详解基于python的图像Gabor变换及特征提取
2020/10/26 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
行政副总岗位职责
2014/02/23 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
运动会演讲稿50字
2014/08/25 职场文书
文明单位申报材料
2014/12/23 职场文书
质检员工作总结2015
2015/04/25 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
六年级作文之关于梦
2019/10/22 职场文书
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python