[英]How to enlarge subplot matplotlib?
我目前有兩個子圖。 注意:這是在Mac OS X 10.6.x上的matplotlib v0.99.3中
我有一個事件處理程序,當單擊其中一個子圖時,它會打印一些內容。 這只是一個臨時占位符。 我想發生的是單擊子圖時,我希望它占據整個圖形(刪除另一個子圖並最大化以填充整個圖形)。 我將如何去做呢?
您可以通過修改子圖返回的軸來實現。 也就是說,可以以任何所需的方式來定位和調整軸的大小,子圖只是一個返回位於統一網格中的軸的函數。 但是一旦從子圖中獲得了這些軸,就可以任意調整它們的大小並重新定位它們。 這是一個例子:
from pylab import *
axes = [None, None]
def make():
figure()
axes[0] = subplot(1, 2, 1)
axes[1] = subplot(1, 2, 2)
show()
def re_form():
xmax = axes[1].get_position().get_points()[1][0]
axes[1].set_axis_off()
(x0, y0), (x1, y1) = axes[0].get_position().get_points() # xmin, ymin, xmax, ymax
axes[0].set_position([x0, y0, xmax-x0, y1-y0]) # x, y, width, height
show()
在這里,我使用show()
更新了圖表,但是您將需要使用更適合事件處理程序的東西。 此演示適用於iPython:首先run
文件,然后調用make()
繪制兩個軸,然后re_form()
刪除第二個軸並加寬第一個軸。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.