2013-01-24 24 views
8

Thường khi tôi vẽ trong matplotlib, tôi nhận được đồ thị như thế này:Thêm lề khi âm mưu hoạt động chống lại các cạnh của đồ thị

frequency response running along top edge

Bạn không thể nhìn thấy chức năng vì nó chạy chống mép cốt truyện.

Có cách nào để tự động thêm một số lợi nhuận trong những trường hợp này, để họ trông như thế này:

frequency response with tiny amount of noise

+0

Ooh, bạn có thể thêm một lượng nhỏ tiếng ồn để đảm bảo rằng nó luôn luôn cao hơn 0? Một cái gì đó như 'h + = randn (len (h)) * khoảng cách (abs (h)) * 100000'? – endolith

Trả lời

15

Bạn có thể sử dụng ax.margins() để thiết lập margins. Ví dụ:

In [1]: fig, ax = plt.subplots() 

In [2]: ax.plot(np.arange(10), '-o') 
Out[2]: [<matplotlib.lines.Line2D at 0x302fb50>] 

without margin

In [1]: fig, ax = plt.subplots() 

In [2]: ax.margins(0.05) 

In [3]: ax.plot(np.arange(10), '-o') 
Out[3]: [<matplotlib.lines.Line2D at 0x302fb50>] 

with margin

Bạn cũng có thể thiết lập chỉ x- hoặc y lề. Tuy nhiên nó không có vẻ là một lựa chọn matplotlibrc để bạn có thể chỉ đơn giản là làm cho điều này là hành vi mặc định (vì vậy nó không hoàn toàn tự động). Tôi đã mở một số github issue để yêu cầu điều này.

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