2011-12-12 52 views
13

Làm cách nào để xuất phiên bản có kích thước lại của đầu ra tôi nhận được từ một cuộc gọi đến GraphPlot (hoặc TreePlot nếu chúng tạo ra đầu ra khác nhau) vào tệp jpg?
Hiện tại, tôi chỉ cần gọi số Export[file_name, G] trong đó G là kết quả của cuộc gọi đến một cái gì đó như GraphPlot. Tôi đang sử dụng trình quản lý ảnh Microsoft Office để xem các jpg, nhưng tái tỷ lệ chúng ở đó mang lại kết quả không đạt yêu cầu do độ phân giải kém (biểu đồ mà tôi đang cố vẽ có các chuỗi không thể tạo ra sau rescaling theo cách này). Tôi muốn có thể chọn kích thước/độ phân giải của jpg được hiển thị.Làm cách nào để xuất hình ảnh có độ phân giải cao hơn của đối tượng Mathematica Graph?

+4

Bạn phải sử dụng một tập tin jpg? Có thể tốt hơn nếu sử dụng [hình ảnh dựa trên vector] (http://reference.wolfram.com/mathematica/guide/VectorGraphicsFormats.html) thay vì [rasterized] (http://reference.wolfram.com/mathematica/ hướng dẫn/RasterImageFormats.html) một. – Simon

Trả lời

15

Theo Simon đã chỉ ra, không sử dụng một raster định dạng cho một vector đồ họa. Thay vào đó, bạn xuất đồ thị thành ví dụ: đồ họa vector có thể mở rộng:

graph = GraphPlot[ExampleData[{"Matrix", "HB/can_292"}, "Matrix"]]; 
Export["graph.svg", graph] 

Ưu điểm là, trong hình ảnh đó, bạn vẫn có thể điều chỉnh và thay đổi đường kẻ, đa giác và màu sắc. Và cuối cùng, bạn có thể xuất nó sang một hình ảnh có chất lượng tùy ý một cách dễ dàng.

enter image description here

Và hãy nhớ, cho Plots có chứa đường, đa giác, ... tất cả mọi thứ có cạnh sắc bạn không bao giờ nên sử dụng jpg. Nói chung, đây là định dạng cho ảnh chỉ vì nén của nó được tạo để giảm kích thước ảnh trong các ảnh tự nhiên. Trong những hình ảnh bạn không nhận ra nén, trong hình ảnh với văn bản, dòng và đa giác, bạn chắc chắn sẽ nhận thấy các đồ tạo tác. Sử dụng png nếu có thể. Mang trình duyệt của bạn và phóng to hình ảnh trên.

+1

cũng xem xét EPS, PDF và (trên Windows) EMF, tùy thuộc vào yêu cầu của bạn. – Verbeia

+0

Có, tất cả các định dạng vector khác đều tốt như svg. Tôi đã đề cập đến svg một cách rõ ràng bởi vì với Inkscape (http://inkscape.org/) bạn có một chương trình vẽ mã nguồn mở. – halirutan

+0

Nói chung, nói chung EMF kém hơn PDF và EPS vì nó lấy mẫu đồ họa vector ở độ phân giải màn hình trung thực và vì nó không thể nhúng phông chữ. –

12

Bạn có thể đặt cả kích thước hình ảnh và mức độ nén của tập tin xuất khẩu bằng cách làm một cái gì đó giống như

Export[file_name, G, ImageSize -> 1200, "CompressionLevel" -> 0] 
+0

Tùy chọn '" CompressionLevel "' chủ yếu cho các định dạng bị mất dưới dạng JPG, nó tạo ra các tệp lớn. Tốt hơn nhiều là sử dụng định dạng lossless như PNG cho hình minh họa với màu sắc đơn giản và cạnh sắc nét: tệp nhỏ hơn nhiều, chất lượng hoàn hảo. Và thậm chí tốt hơn để chuyển sang định dạng vectơ: PDF hoặc EPS. –

8

Cách tốt nhất tôi tìm là sử dụng thuộc tính ImageResolution. Nó làm tăng độ phân giải của hình ảnh đã xuất nhưng không thay đổi tỷ lệ. Sử dụng nó như thế này:

Export[ "image-file-name.png", image, ImageResolution -> 500 ] 
0

Đặt kích thước của đồ thị của bạn trước khi xuất khẩu nó: Graph [theGraph, ImageSize-> 2000]

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