2013-06-14 20 views
24

Tôi muốn để có được fig1 chính xác của 4 3 inch có kích thước và định dạng tiff chỉnh chương trình dưới đây:thay đổi con số và định dạng con số trong matplotlib

import matplotlib.pyplot as plt 
list1 = [3,4,5,6,9,12] 
list2 = [8,12,14,15,17,20] 
plt.plot(list1, list2) 
plt.savefig('fig1.png', dpi = 300) 
plt.close() 

Bất kỳ sự giúp đỡ?

+0

Việc thay đổi phần mở rộng trong tên tập tin từ .png vào .tif tạo hình ảnh tiff thực sự? – golay

Trả lời

31

Bạn có thể thiết lập kích thước hình nếu bạn một cách rõ ràng tạo hình với

plt.figure(figsize=(3,4)) 

Để thay đổi định dạng của hình đã lưu chỉ thay đổi phần mở rộng trong tên tệp. Tuy nhiên tôi không biết nếu bất kỳ của backends matplotlib hỗ trợ tiff

+0

Thay đổi phần mở rộng trong tên tệp từ .png thành .tif có tạo hình ảnh tiff thực không? – golay

+1

Như tôi đã viết, tôi không biết, nhưng từ các ý kiến ​​trên câu trả lời khác có vẻ như tiff không được hỗ trợ –

14

Phần thứ nhất (thiết lập kích thước đầu ra explictly) không phải là quá khó:

import matplotlib.pyplot as plt 
list1 = [3,4,5,6,9,12] 
list2 = [8,12,14,15,17,20] 
fig = plt.figure(figsize=(4,3)) 
ax = fig.add_subplot(111) 
ax.plot(list1, list2) 
fig.savefig('fig1.png', dpi = 300) 
fig.close() 

Nhưng sau khi tìm kiếm google nhanh chóng trên matplotlib + tiff, tôi không tin rằng có thể làm cho matplotlib tiff lô. Có một số đề cập đến các GDK backend có thể làm điều đó.

Một tùy chọn sẽ là chuyển đổi đầu ra bằng công cụ như số convert của imagemagick.

(Một lựa chọn khác là để chờ đợi xung quanh đây cho đến khi một real matplotlib expert xuất hiện và chứng minh tôi sai ;-)

+0

Nếu bạn có cài đặt [GDK backend] (http://matplotlib.org/faq/usage_faq.html#what-is-a-backend), bạn có thể sử dụng nó để vẽ tiffs nguyên bản. Có thể có một số phụ thuộc bạn phải cài đặt. – GWW

+0

@GWW - Tôi thấy rằng đã đề cập, nhưng tôi cũng thấy [chủ đề này] (http://matplotlib.1069221.n5.nabble.com/16bit-tiff-support-td11448.html) ngụ ý rằng đó là một lời nói dối. Tất nhiên, đó là một chủ đề cũ, do đó, nó có thể đã được cố định kể từ đó. – mgilson

+0

Tôi chưa bao giờ thực sự thử nó, vì vậy nó có thể là một lời nói dối. – GWW

6

Bạn có thể thay đổi kích thước của cốt truyện bằng cách thêm này

plt.rcParams["figure.figsize"] = [16,9] 
+1

Đây chỉ là những gì tôi cần để sử dụng trong Jupyter Notebook để làm cho cốt truyện rộng hơn. –

+1

Làm việc trong sổ ghi chép jupyter – ashwinids

+0

rcParams có sức mạnh rất lớn về khả năng tùy chỉnh –

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