2013-03-22 34 views
9

Tôi đang sử dụng chương trình python để tạo một số dữ liệu, vẽ sơ đồ dữ liệu bằng cách sử dụng matplotlib.pyplot và sau đó hiển thị hình trong tệp latex.Làm thế nào để bạn cải thiện chất lượng hình ảnh matplotlib?

Tôi hiện đang lưu hình dưới dạng tệp .png nhưng chất lượng hình ảnh không tuyệt vời. Tôi đã thử thay đổi DPI trong matplotlib.pyplot.figure(dpi=200) vv nhưng điều này dường như làm cho sự khác biệt nhỏ. Tôi cũng đã thử sử dụng các định dạng hình ảnh differnet nhưng tất cả đều trông hơi nhạt và không sắc nét.

Có ai khác có vấn đề này không?

Bất kỳ trợ giúp sẽ được nhiều đánh giá cao

+3

Tại sao bạn không sử dụng định dạng đồ họa vector như eps hoặc pdf? –

+0

[Câu hỏi này] (http://stackoverflow.com/q/332289/875127) đề cập đến việc thay đổi kích thước/dpi/độ phân giải của hình ảnh, nhưng có vẻ như bạn đã thử điều đó. Kiểm tra nó trong trường hợp có một cái gì đó bạn bị mất. –

+2

Bạn chắc chắn nên sử dụng định dạng dựa trên vector cho ô. Chúng được hỗ trợ bởi LaTeX. –

Trả lời

10

Bạn có thể lưu hình ảnh trong định dạng vector để họ sẽ được mở rộng mà không làm mất chất lượng. Các định dạng như vậy là PDF và EPS. Chỉ cần thay đổi tiện ích mở rộng thành .pdf hoặc .eps và matplotlib sẽ viết định dạng hình ảnh chính xác. Hãy nhớ rằng LaTeX thích EPS và PDFLaTeX thích hình ảnh PDF. Mặc dù hầu hết các tập tin thực thi LaTeX hiện đại là PDFLaTeX trong ngụy trang và chuyển đổi các tệp EPS khi đang di chuyển (cùng một hiệu ứng như bạn đã bao gồm gói epstopdf trong phần mở đầu của bạn, có thể không hoạt động tốt như bạn muốn).

Hoặc, tăng DPI, rất nhiều. Đây là những con số mà bạn nên lưu ý:

  • 300dpi: in giấy thường
  • 600dpi: in giấy chuyên nghiệp. Hầu hết các máy in văn phòng thương mại đạt được điều này trong đầu ra của họ.
  • 1200dpi: áp phích chuyên nghiệp/tài liệu lớp chất lượng.

tôi sử dụng những thích nghi với chất lượng của số liệu PNG kết hợp với figsize tùy chọn figure 's, cho phép văn bản thu nhỏ một cách chính xác và đồ họa như bạn nâng cao chất lượng thông qua dpi.

+1

Hoặc cách khác, hãy thử chương trình phụ trợ pdf http://matplotlib.org/users/pgf.html – pelson

+0

Cảm ơn, các tệp .eps tạo ra con số chất lượng cao hơn nhiều trong lyx – user1696811

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