簡體   English   中英

如何放大subplot matplotlib?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM