我想增加繪圖周圍的灰色區域,但保持繪圖的大小相同。我已經嘗試改變圖形大小,最終擴展情節。 如何在不拉伸情節的情況下展開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. 如何在不拉伸的情況下調整圖像大小?
- 5. 如何在我的情況下打開新的彈出窗口?
- 6. 繪圖窗口,但沒有情節 - R的debian的拉伸
- 7. 如何在圖像變得模糊的情況下拉伸ImageButton?
- 8. 如何給Matplolib imshow情節colorbars標籤
- 9. 如何僅在單一情況下打開鍍鉻擴展彈出窗口?
- 10. 在不打開父窗口的情況下調用tkFileDialog
- 11. 在不打開瀏覽器窗口的情況下調用URL
- 12. 如何在不打開新窗口的情況下打開網頁?
- 13. 如何在不盜取macOS的情況下顯示窗口?
- 14. 如何在不關閉窗口的情況下關閉文檔?
- 15. WPF在不關閉原始窗口的情況下打開一個新窗口
- 16. JTextField在沒有擴展窗口的情況下中斷
- 17. 如何在不刷新C#中窗口圖像的情況下刷新窗口?
- 18. 如何在無需下載的情況下在新窗口中打開pdf
- 19. 當窗口打開?如何知道窗口在沒有監聽窗口事件的情況下打開?
- 20. 如何在不離開當前窗口的情況下在新窗口/標籤中打開URL?
- 21. 如何在不拉伸的情況下在背景中填充圖像?
- 22. 如何在不打開窗口的情況下添加Vim搜索記錄?
- 23. 如何在不拉伸文本的情況下更改TextField的寬度?
- 24. 開關情況下的多種情況?
- 25. 如何在不拉伸的情況下爲圖像賦予高度
- 26. 在SDL窗口打開的情況下獲取終端輸入?
- 27. 在沒有拉伸的情況下適合div內的圖像
- 28. 如何在沒有窗口的情況下運行Phaser引擎?
- 29. 如何在沒有窗口句柄的情況下使用RegisterDeviceNotification?
- 30. 如何在沒有窗口的情況下繪製文本
我不認爲有任何理由downvote這個答案。這是正確和有用的,即使它沒有提供精確的算法來設置所討論參數的值。 – ImportanceOfBeingErnest