Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 框使用缩放的插入轴被截断_Python_Matplotlib - Fatal编程技术网

Python 框使用缩放的插入轴被截断

Python 框使用缩放的插入轴被截断,python,matplotlib,Python,Matplotlib,我想使用缩放的插入轴,但框一旦通过主图形的框架就会被截断。我无法用 f.紧凑布局() f.subplot\u调整(底部=…) 'figure.autolayout':True 即使使用f.text在外部某处隐藏(白色)文本也不行 有人知道如何正确地做到这一点吗 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axe

我想使用
缩放的插入轴
,但框一旦通过主图形的框架就会被截断。我无法用

  • f.紧凑布局()
  • f.subplot\u调整(底部=…)
  • 'figure.autolayout':True
  • 即使使用
    f.text
    在外部某处隐藏(白色)文本也不行
有人知道如何正确地做到这一点吗

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset

X = np.random.normal(.5,10,1000)
Y = np.random.normal(.5,10,1000)

f, ax = plt.subplots(1, figsize=(10,6))

ax.scatter(X,Y)

# # Setup zoom window
axins = zoomed_inset_axes(ax, 2, loc="center", bbox_to_anchor=(0,0))
mark_inset(ax, axins, loc1=2, loc2=4, fc="none", ec="0.5")
axins.set_xlim([-15,0])
axins.set_ylim([-12,-3])

# # Plot zoom window
axins.scatter(X,Y)

f.tight_layout()
f.savefig('test.png', dpi=70)

使用
子批次进行调整
方向正确。之后不要使用
紧密布局
,因为这会覆盖通过
子批次调整
完成的任何设置

您可能会决定选择以下内容

fig.subplots_adjust(left=0.2, bottom=0.2)
为图形左下角的插图留出一些空间

然后你需要定位插图。因为你在这里的左下角工作,这是相对容易的。
loc
参数需要设置在左下角,您可以坚持使用
bbox\u to\u锚定=(0,0)
位置。然后通过
borderpad=3
(以字体大小为单位)添加一些填充,这样插入轴的标签仍然可见

zoomed_inset_axes(ax, 2, loc='lower left', bbox_to_anchor=(0,0), borderpad=3)
完整代码:
将numpy导入为np
将matplotlib.pyplot作为plt导入
从mpl_toolkits.axes_grid1.inset_定位器导入缩放的_inset_轴,标记_inset
X=np.随机.正常(.5,101000)
Y=np.随机.正常(.5,101000)
图,ax=plt.子批次(1,figsize=(10,6))
图子批次调整(左=0.2,下=0.2)
最大散射(X,Y)
##设置缩放窗口
axins=缩放的插入轴(ax,2,loc='左下角',bbox'u到锚定=(0,0),borderpad=3)
标记插图(ax,axins,loc1=2,loc2=4,fc=“无”,ec=“0.5”)
axins.set_xlim([-15,0])
axins.set_ylim([-12,-3])
##打印缩放窗口
轴散射(X,Y)
#图savefig('test.png',dpi=70)

plt.show()
感谢您的快速回答!我无法让它在我的问题上正常工作,因为每个参数似乎都与其他参数相关,但我成功地扩大了面积,足以在之后使用
briss
对其进行裁剪。总的来说,这不是很有成效,但正好赶上了演讲的时间,而且比我从
plt.show()上抓到的糟糕图像要好得多。
之前…:-)当我找到时间时,我可以尝试分析这个MWE与我的问题的分歧,并可能更新问题。