python画图放大_利用Python进行科研绘图图中图

d9450db29f1589b4353e31ed311a6bee.gif

在日常展示、报告或者文献撰写过程中,数据经常需要用图来直观表达或者支撑观点。不知道大家有没有遇到这种情况:需要将图中的某些细节在原图中进行放大、一起展示,这就造成要在图中再次画图的情况,今天就来谈谈如何在Python中使用matplotlib绘图库来绘制图中图。

192584b03eec8754b11899163a01e749.png

01

思路解析 

首先,画图是将数据映射到坐标系上,因此画图中图就是在一张图上建立两个坐标系来展示数据,但是要注意这两个坐标系是有一定联系的。这里我将原有的较大的图称为父图,需要聚焦展示的较小的图称为子图。

画父图就按照一般的绘图方法画出来就行,但是对于子图就需要考虑以下几个问题了:

  • 展示哪些数据?

  • 图放在哪?

  • 图有多大?

  • 怎样和父图联系?

其中,第一个问题是我们根据具体需求制定的,本文不涉及这部分内容。第二、三个问题都与建立坐标系有关,最后一个是在完成父子图绘制后要考虑的问题。

我们将这些问题归纳到三个步骤中去解决,

  1. 画出父图

  2. 画出子图

  3. 建立图之间的联系

ac4ff66d4c52b1a3777dcad0c7c00cc9.gif

针对步骤2、3,有两种方法可以实现,并且我自己在应用中没有发现明显的差别,这里就将这两种方法介绍给大家。

02

父图绘制  

画父图和其他基本画图方法一致,这里先将父图画出来:

import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.axes_grid1.inset_locator import mark_insetfrom mpl_toolkits.axes_grid1.inset_locator import inset_axesx = np.linspace(0, 2*np.pi, 30)y_1 = np.sinc(x)+0.7y_2 = np.tanh(x)y_3 = np.exp(-np.sinc(x))fig, ax = plt.
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值