Hướng dẫn how do i save a plot as a pdf in python? - làm cách nào để lưu một cốt truyện dưới dạng pdf trong python?

Trong loạt hướng dẫn của chúng tôi về matplotlib, bạn đã học được cách tạo ra nhiều lô khác nhau và cách tùy chỉnh thiết kế của họ. Cho đến nay, bạn đã xem xét âm mưu kết quả bằng cách gọi .show(). Nhưng nếu bạn cần chia sẻ cốt truyện thì sao? Ví dụ: nếu bạn cần gửi nó trong email hoặc sử dụng nó trong một bài thuyết trình?

Trong hướng dẫn này, bạn sẽ học cách xuất các lô và lưu chúng ở các định dạng tệp khác nhau.

Tổng quan về loạt Matplotlib

Biểu đồ dòng mẫu

Trước khi bạn có thể thử nghiệm các tùy chọn xuất khác nhau, bạn cần một lô để xuất

Đối với phần còn lại của hướng dẫn này, bạn có thể sử dụng một biểu đồ dòng đơn giản vì nó đặc biệt phù hợp để xem sự khác biệt chất lượng:

year = [2014, 2015, 2016, 2017, 2018, 2019]  
tutorial_count = [39, 117, 111, 110, 67, 29]

plt.plot(year, tutorial_count, color="#6c3376", linewidth=3)  
plt.xlabel('Year')  
plt.ylabel('Number of futurestud.io Tutorials')  

Hướng dẫn how do i save a plot as a pdf in python? - làm cách nào để lưu một cốt truyện dưới dạng pdf trong python?

Lưu dưới dạng tệp PDF

Nếu bạn muốn xuất một biểu đồ với matplotlib, bạn sẽ luôn gọi .savefig(path). Matplotlib sẽ tìm ra loại tệp dựa trên đường dẫn tệp được truyền.

Ví dụ: nếu bạn muốn lưu biểu đồ trên trong tệp PDF:

plt.savefig('line_plot.pdf')  

Điều này sẽ tiết kiệm cốt truyện trong

plt.savefig('line_plot.pdf')  
0. Bạn có thể xem tất cả các tập tin đầu ra ở đây.

Lưu dưới dạng tệp SVG

Nếu bạn muốn lưu cốt truyện dưới dạng tệp SVG, bạn sẽ sử dụng cùng một phương thức .savefig(path), nhưng thay đổi tệp kết thúc thành

plt.savefig('line_plot.pdf')  
2:

plt.savefig('line_plot.svg')  

Cả PDF và SVG đều là định dạng tệp dựa trên vector và lưu cốt truyện với chất lượng tuyệt vời.

Tuy nhiên, một số phần mềm không dễ dàng hỗ trợ các định dạng hiện đại này (nhìn vào bạn, PowerPoint) và yêu cầu bạn xuất các lô dưới dạng hình ảnh. May mắn thay, đây không phải là một vấn đề với matplotlib.

Lưu dưới dạng tệp PNG

Bạn hy vọng hiểu được mẫu và có thể đoán làm thế nào để xuất một lô dưới dạng tệp PNG. Chỉ cần chuyển một đường dẫn đến

plt.savefig('line_plot.pdf')  
3 với kết thúc tệp
plt.savefig('line_plot.pdf')  
4:

plt.savefig('line_plot.png')  

Phẩm chất

Tất cả các định dạng tệp dựa trên hình ảnh, chẳng hạn như PNG hoặc JPG, sẽ đi kèm với một số mất chất lượng. Bạn có thể tăng (hoặc giảm) chất lượng của cốt truyện bằng cách đặt

plt.savefig('line_plot.pdf')  
5. Ví dụ: nếu bạn muốn tạo xuất khẩu PNG chất lượng cao hơn:

plt.savefig('line_plot_hq.png', dpi=300)  

Nếu bạn xem xét kỹ hơn, điều này sẽ làm cho cốt truyện đẹp hơn rất nhiều. Tuy nhiên, hãy nhớ rằng nó cũng tăng gấp ba kích thước tập tin! Nếu bạn cần xuất các sơ đồ sang định dạng hình ảnh, có sự đánh đổi giữa chất lượng và kích thước tệp.

Tùy chọn màu sắc

Xuất sang PNG có một lợi thế so với JPG. PNG cho phép màu trong suốt. Theo mặc định, Matplotlib tạo ra các lô trên nền trắng và xuất chúng như vậy. Nhưng bạn có thể làm cho nền trong suốt bằng cách chuyển

plt.savefig('line_plot.pdf')  
6 cho phương thức
plt.savefig('line_plot.pdf')  
7:

plt.savefig('line_plot_hq_transparent.png', dpi=300, transparent=True)  

Điều này có thể làm cho các lô trông đẹp hơn rất nhiều trên nền không phải là người da trắng.

Nói chung, thứ tự của các tham số được thông qua không quan trọng. Bạn có thể đặt chúng theo cách bạn muốn.

Lưu dưới dạng tệp jpg

Các tùy chọn xuất khẩu cuối cùng mà bạn nên biết là các tệp JPG, cung cấp nén tốt hơn và do đó kích thước tệp nhỏ hơn trên một số lô.

plt.savefig('line_plot.jpg', dpi=300)  

Tùy chọn JPG

Matplotlib cung cấp một số tùy chọn xuất tùy chọn chỉ có sẵn cho các tệp

plt.savefig('line_plot.pdf')  
8. Ví dụ:
plt.savefig('line_plot.pdf')  
9 (mặc định 95),
plt.savefig('line_plot.svg')  
0 (mặc định:
plt.savefig('line_plot.svg')  
1) và
plt.savefig('line_plot.svg')  
2 (mặc định:
plt.savefig('line_plot.svg')  
1).

plt.savefig('line_plot.jpg', dpi=300, quality=80, optimize=True, progressive=True)  

Với các tùy chọn trên được bật, kích thước tệp được giảm 50% trong khi vẫn giữ chất lượng ở mức tương tự.

Định dạng xuất khẩu nào để sử dụng?

Các tệp SVG hoặc PDF dựa trên Vector dưới dạng vector thường được ưa thích hơn các tệp PNG hoặc JPG dựa trên bitmap vì chúng là các định dạng phong phú hơn, thường cung cấp các ô chất lượng cao hơn cùng với kích thước tệp nhỏ hơn.

Nếu bạn muốn thấy hiệu ứng của các định dạng dữ liệu khác nhau, hãy phóng to gần với biểu đồ dòng. Với định dạng PDF và SVG, nó vẫn sẽ là một đường thẳng, trơn tru (trái). Tuy nhiên, với PNG hoặc JPG, nó sẽ bị cồng kềnh (phải).

Hướng dẫn how do i save a plot as a pdf in python? - làm cách nào để lưu một cốt truyện dưới dạng pdf trong python?

Bản tóm tắt

Trong hướng dẫn này, bạn đã học được cách xuất các tệp ở nhiều định dạng tệp và một số tùy chọn để kiểm soát chất lượng cốt truyện.

Tất cả các mã và xuất mẫu đều có sẵn để sao chép và dán dễ dàng và xem xét kỹ hơn về kho lưu trữ GitHub.

Bạn có câu hỏi hoặc phản hồi nơi nào nên đi? Hãy cho chúng tôi biết trên Twitter @futurestud_io hoặc để lại nhận xét bên dưới.

Thưởng thức âm mưu & làm cho nó đá!


Tài nguyên đã đề cập

  • Kho lưu trữ GitHub với mã mẫu và các tệp đầu ra mẫu

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.

Bạn có thể vẽ dữ liệu bằng Python không?

Dữ liệu cũng có thể được vẽ bằng cách gọi trực tiếp chức năng lô Matplotlib.Màu sắc và định dạng của các điểm đánh dấu cũng có thể được chỉ định là một đối số tùy chọn bổ sung, ví dụ: B- là một đường màu xanh lam, G-- là một đường nét đứt màu xanh lá cây.. The color and format of markers can also be specified as an additional optional argument e.g., b- is a blue line, g-- is a green dashed line.