我想增加绘图周围的灰色区域,但保持绘图的大小相同。我已经尝试改变图形大小,最终扩展情节。 如何在不拉伸情节的情况下展开matplolib窗口?
0
A
回答
2
该图内的轴线相对于该图中positionned。默认情况下你有例如数字宽度的0.125的一部分作为左侧的空间。这意味着调整图形的大小,也会缩放轴。
您可以计算间距需要改变的程度,如果图形重新缩放,轴的大小保持不变。新的间距需要使用fig.subplots_adjust
进行设置。
import matplotlib.pyplot as plt
def set_figsize(figw,figh, fig=None):
if not fig: fig=plt.gcf()
w, h = fig.get_size_inches()
l = fig.subplotpars.left
r = fig.subplotpars.right
t = fig.subplotpars.top
b = fig.subplotpars.bottom
hor = 1.-w/float(figw)*(r-l)
ver = 1.-h/float(figh)*(t-b)
fig.subplots_adjust(left=hor/2., right=1.-hor/2., top=1.-ver/2., bottom=ver/2.)
fig, ax=plt.subplots()
ax.plot([1,3,2])
set_figsize(9,7)
plt.show()
然后,您也可以使用此函数更改数字窗口调整大小时的子图区参数。
import matplotlib.pyplot as plt
class Resizer():
def __init__(self,fig=None):
if not fig: fig=plt.gcf()
self.fig=fig
self.w, self.h = self.fig.get_size_inches()
self.l = self.fig.subplotpars.left
self.r = self.fig.subplotpars.right
self.t = self.fig.subplotpars.top
self.b = self.fig.subplotpars.bottom
def set_figsize(self, figw,figh):
hor = 1.-self.w/float(figw)*(self.r-self.l)
ver = 1.-self.h/float(figh)*(self.t-self.b)
self.fig.subplots_adjust(left=hor/2., right=1.-hor/2., top=1.-ver/2., bottom=ver/2.)
def resize(self, event):
figw = event.width/self.fig.dpi
figh = event.height/self.fig.dpi
self.set_figsize(figw,figh)
fig, ax=plt.subplots()
ax.plot([1,3,2])
r = Resizer()
cid = fig.canvas.mpl_connect("resize_event", r.resize)
plt.show()
0
相关问题
- 1. 如何在不阻塞窗口的情况下打开文件?
- 2. 如何在不拉伸的情况下调整图像大小?
- 3. 如何在不拉伸的情况下调整图像大小?
- 4. 绘图窗口,但没有情节 - R的debian的拉伸
- 5. 如何在图像变得模糊的情况下拉伸ImageButton?
- 6. 在不打开父窗口的情况下调用tkFileDialog
- 7. 如何仅在单一情况下打开镀铬扩展弹出窗口?
- 8. 如何在不打开新窗口的情况下打开网页?
- 9. 如何在不盗取macOS的情况下显示窗口?
- 10. WPF在不关闭原始窗口的情况下打开一个新窗口
- 11. 如何在不拉伸的情况下在背景中填充图像?
- 12. 如何在不离开当前窗口的情况下在新窗口/标签中打开URL?
- 13. 当窗口打开?如何知道窗口在没有监听窗口事件的情况下打开?
- 14. 如何在不打开窗口的情况下添加Vim搜索记录?
- 15. 如何在不拉伸文本的情况下更改TextField的宽度?
- 16. 开关情况下的多种情况?
- 17. 如何在不拉伸的情况下为图像赋予高度
- 18. 在SDL窗口打开的情况下获取终端输入?
- 19. 在没有拉伸的情况下适合div内的图像
- 20. 您可以在不打开窗口的情况下创建OpenGL上下文吗?
- 21. 如何在没有窗口句柄的情况下使用RegisterDeviceNotification?
- 22. 如何在没有窗口的情况下绘制文本
- 23. 如何在启用标签的情况下在新窗口中打开链接
- 24. 如何防止在没有确认的情况下打开窗口
- 25. 如何在这种情况下使用子窗口
- 26. 在不打开弹出窗口的情况下在Facebook上分享内容
- 27. DTExec不会在没有窗口的情况下运行
- 28. 在不添加backstack的情况下展开SearchActionItem
- 29. 没有情节窗口matplotlib
- 30. 如何在不按下按钮的情况下开始活动?
我不认为有任何理由downvote这个答案。这是正确和有用的,即使它没有提供精确的算法来设置所讨论参数的值。 – ImportanceOfBeingErnest