Hướng dẫn how do i save a plotted graph in python? - làm cách nào để lưu biểu đồ được vẽ trong python?

[Matplotlib] (https://matplotlib.org/ là một thư viện âm mưu hai chiều mạnh mẽ cho ngôn ngữ Python.

Trong hầu hết các trường hợp, matplotlib sẽ chỉ cần xuất biểu đồ vào chế độ xem của bạn khi phương thức .show() được gọi, nhưng chúng tôi sẽ khám phá ngắn gọn cách lưu tạo ra matplotlib vào một tệp thực tế trên đĩa.

Sử dụng matplotlib

Mặc dù danh sách tính năng của matplotlib là gần như vô hạn, chúng tôi sẽ nhanh chóng đi qua cách sử dụng thư viện để tạo biểu đồ cơ bản cho mục đích thử nghiệm của riêng bạn.

Giống như tất cả các thư viện Python, bạn sẽ cần bắt đầu bằng cách cài đặt matplotlib. Chúng tôi đã giành chiến thắng trong quá trình cài đặt ở đây, nhưng có rất nhiều thông tin trong tài liệu chính thức.

Sau khi cài đặt, nhập thư viện matplotlib. Bạn có thể cũng muốn nhập thư viện phụ pyplot, đó là những gì bạn thường sử dụng để tạo biểu đồ và âm mưu của mình khi sử dụng matplotlib.

In [1]: import matplotlib
import matplotlib.pyplot as plt

Bây giờ để tạo và hiển thị một biểu đồ đơn giản, trước tiên chúng tôi sẽ sử dụng phương thức .plot() và chuyển trong một vài mảng số cho các giá trị của chúng tôi. Ví dụ này, chúng tôi sẽ vẽ số lượng sách đọc trong khoảng vài tháng.

In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])

Chúng tôi cũng có thể thêm một vài nhãn trục:

In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')

Cuối cùng, chúng ta có thể hiển thị biểu đồ bằng cách gọi .show():

Phương thức SaveFig

Với một biểu đồ đơn giản dưới vành đai của chúng tôi, bây giờ chúng tôi có thể chọn xuất biểu đồ vào một tệp thay vì hiển thị nó (hoặc cả hai nếu muốn), bằng cách sử dụng phương thức

In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
1.

In [5]: plt.savefig('books_read.png')

Phương thức

In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
1 yêu cầu tên tệp được chỉ định là đối số đầu tiên. Tên tệp này có thể là một đường dẫn đầy đủ và như đã thấy ở trên, cũng có thể bao gồm một phần mở rộng tệp cụ thể nếu muốn. Nếu không có tiện ích mở rộng nào được cung cấp, giá trị cấu hình của
In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
3 được sử dụng thay thế.

Tùy chọn SaveFig bổ sung

Ngoài chức năng cơ bản là lưu biểu đồ vào một tệp,

In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
1 còn có một số đối số tùy chọn hữu ích.

  • In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    5 có thể được sử dụng để đặt độ phân giải của tệp thành giá trị số.
  • In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    6 có thể được đặt thành
    In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    7, khiến nền của biểu đồ trong suốt.
  • In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    8 có thể được đặt để thay đổi kích thước của hộp giới hạn (khoảng trắng) xung quanh hình ảnh đầu ra. Trong hầu hết các trường hợp, nếu không có hộp giới hạn nào mong muốn, sử dụng
    In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    9 là lý tưởng.
  • Nếu
    In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
    
    8 được đặt thành
    In [3]: plt.xlabel('Months')
    plt.ylabel('Books Read')
    
    1, thì tùy chọn
    In [3]: plt.xlabel('Months')
    plt.ylabel('Books Read')
    
    2 chỉ định lượng đệm xung quanh hình ảnh.

Có một số tùy chọn bổ sung cho các dịp cụ thể, nhưng nhìn chung, điều này sẽ giúp bạn bắt đầu với việc dễ dàng tạo ra các đầu ra tệp hình ảnh từ các biểu đồ matplotlib của bạn.

Tiết kiệm lô

Các sơ đồ Matplotlib có thể được lưu dưới dạng tệp hình ảnh bằng hàm

In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
3.

Hàm

In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
3 cần được gọi ngay trên dòng
In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
5. Tất cả các tính năng của lô phải được chỉ định trước khi biểu đồ được lưu dưới dạng tệp hình ảnh. Nếu hình được lưu sau lệnh
In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
5; Con số sẽ không được lưu cho đến khi cửa sổ cốt truyện được đóng lại. Gọi
In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
3 sau khi gọi
In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
5 có thể có vấn đề khi xây dựng các lô trong sổ ghi chép Jupyter với
In [3]: plt.xlabel('Months')
plt.ylabel('Books Read')
9 được bật.

Một lệnh

In [5]: plt.savefig('books_read.png')
0 tiêu chuẩn là:

plt.savefig('plot.png', dpi=300, bbox_inches='tight')

Trong đó

In [5]: plt.savefig('books_read.png')
1 là tên của tệp hình ảnh đã lưu. Matplotlib thông qua định dạng tệp hình ảnh (.png, .jpg, v.v.) dựa trên tiện ích mở rộng được chỉ định trong tên tệp..png, .jpg, etc) based on the extension specified in the filename.

Đối số từ khóa

In [5]: plt.savefig('books_read.png')
2 chỉ định có bao nhiêu dấu chấm trên mỗi inch (độ phân giải hình ảnh) trong hình ảnh đã lưu.
In [5]: plt.savefig('books_read.png')
3 là tốt cho hình ảnh web.
In [5]: plt.savefig('books_read.png')
4 tốt hơn cho một hình ảnh được thiết kế để đi trong một báo cáo bằng văn bản hoặc tài liệu .pdf..pdf document.

Đối số từ khóa

In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
9 là tùy chọn. Nếu các nhãn trục trong lô bị cắt trong hình ảnh đã lưu, hãy đặt
In [2]: plt.plot([0, 1, 2, 3, 4], [0, 3, 5, 9, 11])
9.

Phần mã sau đây xây dựng một biểu đồ dòng và lưu biểu đồ vào biểu đồ tệp hình ảnh.png.plot.png.

In [1]:

import matplotlib.pyplot as plt
# if using a Jupyter notebook, include:
%matplotlib inline

x = [0, 2, 4, 6] y = [1, 3, 4, 8]

plt.plot(x,y)

plt.xlabel('x values') plt.ylabel('y values') plt.title('plotted x and y values') plt.legend(['line 1'])

# save the figure plt.savefig('plot.png', dpi=300, bbox_inches='tight')

plt.show()

Chúng ta có thể cứu một âm mưu trong Python không?

Các sơ đồ matplotlib có thể được lưu dưới dạng tệp hình ảnh bằng hàm plt.savefig ().Plt. savefig() function. The plt.

Chức năng nào được sử dụng để lưu đồ thị lô vào tệp trong Python?

Sử dụng phương thức matplotlib.pyplot.imsave (), chúng ta có thể lưu sơ đồ vào tệp hình ảnh thay vì sử dụng matplotlib để hiển thị nó.Các mảng được lưu bằng cách sử dụng cách này như các tệp hình ảnh.matplotlib. pyplot. imsave() method, we may save the plot to an image file rather than using Matplotlib to display it. The arrays are saved using this manner as picture files.