2015-03-31 43 views
1

類似的問題在這裏 Autoscale with margin in matplotlib的Python:添加X-Y利潤率與自動縮放(pyplot)自動

enter image description here

問,所以我不喜歡的事實,數字和柱狀圖的外框觸摸對方。給出的解決方案是:

axes.set_ylim(0, 11) 

好,它的工作原理,但我有很多的數字,每一次我只想要一個10%的保證金。所以手動這是一件很困難的事情,有沒有辦法在x軸和y軸上設置邊距?

我需要類似subplots_adjust,但對於內部數據區域。

回答

3

不知道是否有辦法做到這一點使用matplotlib的功能,但你總是可以定義自己的,下面的工作對我來說:

def inner_subplots_adjust(axes, xmargin=0.1, ymargin = 0.1): 
    xmin, xmax = axes.get_xbound() 
    ymin, ymax = axes.get_ybound() 
    xscale = 1 + xmargin 
    yscale = 1 + ymargin 
    axes.set_xbound((xmin*xscale, xmax*xscale)) 
    axes.set_ybound((ymin*yscale, ymax*yscale))