2009-07-29 31 views
7

Tôi đang tạo một số đồ thị khá lớn và khoảng trắng trong đường viền chiếm nhiều pixel sẽ được dữ liệu sử dụng tốt hơn. Dường như biên giới phát triển khi biểu đồ tăng lên.Làm cách nào để giới hạn kích thước đường viền trên biểu đồ matplotlib?

Dưới đây là can đảm của mã đồ họa của tôi:

 import matplotlib 
     from pylab import figure 

     fig = figure() 
     ax = fig.add_subplot(111) 
     ax.plot_date((dates, dates), (highs, lows), '-', color='black') 
     ax.plot_date(dates, closes, '-', marker='_', color='black') 

     ax.set_title('Title') 
     ax.grid(True) 
     fig.set_figheight(96) 
     fig.set_figwidth(24) 

Có cách nào để giảm kích thước của biên giới? Có lẽ một thiết lập ở đâu đó sẽ cho phép tôi để giữ cho biên giới tại một liên tục 2 inch hoặc lâu hơn?

Trả lời

6

Kể từ khi có vẻ như bạn chỉ đang sử dụng một subplot duy nhất, bạn có thể muốn bỏ qua add_subplot và đi thẳng đến add_axes. Điều này sẽ cho phép bạn cung cấp cho kích thước của các trục (trong tọa độ tương đối), vì vậy bạn có thể làm cho nó lớn như bạn muốn trong hình. Trong trường hợp của bạn, điều này sẽ có nghĩa là mã của bạn sẽ giống như

import matplotlib.pyplot as plt 

    fig = plt.figure() 

    # add_axes takes [left, bottom, width, height] 
    border_width = 0.05 
    ax_size = [0+border_width, 0+border_width, 
       1-2*border_width, 1-2*border-width] 
    ax = fig.add_axes(ax_size) 
    ax.plot_date((dates, dates), (highs, lows), '-', color='black') 
    ax.plot_date(dates, closes, '-', marker='_', color='black') 

    ax.set_title('Title') 
    ax.grid(True) 
    fig.set_figheight(96) 
    fig.set_figwidth(24) 

Nếu bạn muốn, bạn thậm chí có thể đặt các thông số để set_figheight/set_figwidth trực tiếp trong figure() gọi.

5

Thử subplots_adjust API:

subplots_adjust (* args, ** kwargs)

fig.subplots_adjust (trái = None, đáy = Không, phải = None, wspace = None, hspace = Không)

cập nhật các SubplotParams với kwargs (mặc định cho RC nơi không có) và cập nhật các địa điểm âm mưu phụ

+2

Bạn có thể cung cấp ví dụ về cách bạn muốn sử dụng trong trường hợp này không? –

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