2012-06-05 22 views
15

Tôi đang tạo hình trên màn hình có hai vị trí con: một là hình ảnh và hình kia là biểu đồ. Biên độ rất lớn xung quanh các con số.Làm thế nào để thiết lập lề cho một con số matplotlib?

Làm cách nào để điều chỉnh lề xung quanh các hình?


Hầu hết các câu hỏi tôi tìm kiếm để lưu ảnh (bbox có vẻ hoàn hảo) và sử dụng trục thay vì các vị trí con để định vị tuyệt đối.

Đây là mã tôi đã sử dụng để tạo ra con số:

def __init__(self, parent): 
    wx.Panel.__init__(self, parent) 
    ... 

    self.figure, (self.picture, self.intensity) = \ 
     plt.subplots(nrows=2, figsize=(12, 5)) 
    self.figure.set_dpi(80) 
    #self.figure.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1) 
    #self.picture.imshow(np.random.uniform()) #size=(5, 50))) 
    self.intensity.plot(np.random.random()) #size=641)) 

    self.intensity.autoscale(axis='x', tight=True) 
+3

hãy xem plt.tight_layout() hoặc plt.subplots_adjust() hoặc fig.savefig (bbox_inches = 'tight') – bmu

+0

@bmu, tôi nghĩ nhận xét của bạn phải là câu trả lời, Không? – Yann

+1

Rất nhiều chức năng chỉ hoạt động cho chế độ Pylab và lưu số liệu. Tôi muốn cái gì đó làm việc cho một đối tượng 'Hình'. – aitchnyu

Trả lời

24

Có một cái nhìn tại plt.tight_layout() hoặc plt.subplots_adjust() hoặc fig.savefig(bbox_inches='tight').

Với subplots_adjust bạn có thể điều chỉnh hầu hết các thông số, trong khi tight_layout()bbox_inches='tight' ít nhiều được bán tự động.

-3

Bạn cũng có thể sử dụng plt.set(), với các thuộc tính được đưa ra trong menu điều chỉnh lô đất, ví dụ: đặt (trên cùng = 0,82), v.v.

+1

Không làm việc cho tôi. Vui lòng nêu ra một câu trả lời phức tạp hơn. – toom

+0

Tôi chưa tìm thấy matplotlib.pyplot.set trong tài liệu http://matplotlib.org/api/pyplot_api.html – usernumber

+0

Có thể họ đã thay đổi API của họ trong 2 năm qua. – Tritlo

Các vấn đề liên quan