Mac*_*Mac 27 python graph matplotlib
我想做一个这样的图表:

问题是,我从一些外部文件获取数据,我可以制作背景图,但我不知道如何在我已经拥有的图中添加另一个图并更改数据以获得不同的结果他们都:
下面我要添加我用来做背景图的代码.希望有人能提供帮助.
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
matplotlib.rcParams['text.latex.preamble']=[r'\usepackage{amsmath}']
data=np.loadtxt(r'C:\...\file.txt')
plt.plot(data[:,0],data[:,6],linewidth = 3,label='B$_0$ = 1.5 T d',linestyle= '--', color='black')
plt.show()
Run Code Online (Sandbox Code Playgroud)
Joe*_*ton 40
根据您希望插图具有的关系,有多种方法可以做到这一点.
如果您只想插入与较大图形没有设置关系的图形,只需执行以下操作:
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
# These are in unitless percentages of the figure size. (0,0 is bottom left)
left, bottom, width, height = [0.25, 0.6, 0.2, 0.2]
ax2 = fig.add_axes([left, bottom, width, height])
ax1.plot(range(10), color='red')
ax2.plot(range(6)[::-1], color='green')
plt.show()
Run Code Online (Sandbox Code Playgroud)

如果你想在两者之间建立某种关系,请看一下这里的一些例子:http://matplotlib.org/1.3.1/mpl_toolkits/axes_grid/users/overview.html#insetlocator
如果您希望插图是"放大"版本(例如,比原始尺寸的两倍),则会在您以交互方式平移/缩放时自动更新,这非常有用.
但是,对于简单的插入,只需创建一个新轴,如上例所示.
pms*_*pms 11
您可以使用inset_axes方法执行此操作(请参阅文档):
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
inset_axes = inset_axes(parent_axes,
width="30%", # width = 30% of parent_bbox
height=1., # height : 1 inch
loc=3)
Run Code Online (Sandbox Code Playgroud)
有关完整演示,请参阅此示例.