2010-09-20 68 views
15

Tôi mới bắt đầu với R và bắt đầu tạo biểu đồ. Tôi biết rằng có ít nhất ba gói âm mưu khác nhau, một gói tiêu chuẩn, ggplot2 và mạng.Mối quan hệ giữa việc vẽ các gói trong R

Các gói này có bổ sung không hoặc chúng có nằm trong cùng một nền tảng không? Nếu chúng là bổ sung, khi nào tôi sử dụng chúng? Nếu chúng phủ lên cùng một nền tảng, tôi nên làm gì, với tư cách là một người dùng R mới, hãy đặt năng lượng của tôi vào làm chủ?

Trả lời

23

Có 4 hệ thống âm mưu. Có tiêu chuẩn, lưới, mạng và ggplot2. Hai cái sau là hệ thống cấp cao hơn được xây dựng trên hai hệ thống trước đây. Mỗi người đều có những ưu điểm cũng như những khuyết điểm.

Đồ họa tiêu chuẩn cho phép bạn kiểm soát tuyệt đối đối với các ô và rất tuyệt vời để tạo một ô theo cách bạn thích. Lattice được phát triển để giải quyết các tình huống mà bạn muốn mảng các ô. Nó rất linh hoạt và có thể vẽ hầu hết mọi chức năng trên dữ liệu của bạn và trên bất kỳ biến nào. Nếu bạn muốn có một chức năng tùy ý áp dụng cho dữ liệu của từng đối tượng và được trình bày dưới dạng lưới ô, thì mạng là con của bạn. Nó được xây dựng trên lưới và gần như là cách duy nhất để mọi người sử dụng gói lưới.

Phiên bản mới nhất, ggplot2, vừa là gói đồ họa vừa là một triết lý mới trong đồ thị. Nó dựa trên "Ngữ pháp đồ họa" của Wilkinson và cố gắng làm chính xác điều đó, tạo ra một ngữ pháp cho đồ họa. Người ta chỉ cần học cú pháp cấp cao hơn về các thuật ngữ như geom (những gì bạn vẽ), stat (số liệu thống kê trên dữ liệu), khía cạnh (các bảng riêng), và bạn có thể xây dựng các đồ thị rất phức tạp. Họ thường đi ra khá đáng yêu, đặc biệt là cho phân phối điện tử. Thật không may, kiểm soát tốt của từng chi tiết cá nhân là không có sẵn. Có một số điều bạn chỉ đơn giản là không thể điều chỉnh. Điều đó nói rằng, nhiều người đã đi đến kết luận lành mạnh rằng đó là một mức giá nhỏ để trả tiền cho cách dễ dàng để mô tả lô chất lượng cao.

Hãy xem một số biểu đồ mặc định và ví dụ cho ggplot2. Nếu họ kháng cáo cho bạn thì tôi khuyên bạn nên bắt đầu ở đó. Nếu bạn có thể, hãy cố gắng học cách làm mọi thứ thông qua phương pháp ngữ pháp cơ bản. Cá nhân tôi nghĩ rằng đó là một sai lầm mà Hadley có các chức năng tiện lợi như sự trợ giúp chính trên trang web. Nó dường như làm suy yếu toàn bộ mục đích của ggplot2. Một cú pháp viết tắt được trình bày như là giao diện chính để được trợ giúp nhưng cuốn sách là tất cả về triết lý và ngữ pháp cơ bản.

(tôi nói rằng nhưng tôi làm hầu hết các âm mưu của tôi trong đồ họa cơ sở bởi vì tôi thấy nó vui vẻ xây dựng mỗi thành phần duy nhất của đồ thị.)

+0

Chi tiết nào, cụ thể là bạn đề cập đến điều đó không thể được kiểm soát với ggplot2? Tôi đồng ý rằng có rất nhiều tùy chọn "ẩn", nhưng chúng chắc chắn ở đó. (theme_get(), ví dụ) –

+0

Tôi cho rằng tôi có thể mở rộng thêm nữa ... Có một mức mà tại đó ggplot được ghi lại và sử dụng ở mức điều khiển tối thiểu. Sau đó, có một nơi khác có nhiều hơn một chút, khi bạn tìm thấy nhiều tùy chọn ẩn ... và sau đó có những thứ bạn không thể kiểm soát như mặt bất thường hoặc độ phân giải và tính năng làm mịn của mặt (nếu tôi muốn lấp đầy đầu đỏ và xanh dưới cùng?). Tôi thực sự không thể liệt kê mọi thứ bạn không thể kiểm soát. Không chắc chắn nếu điều này được thay đổi nhưng một cái gì đó đơn giản như nhãn bù đắp từ trục * là * không thể. – John

+1

Điều đó nói rằng, tôi nghĩ rằng nó xử lý 95% + đồ thị tốt hơn so với mọi người có thể tự xử lý nó và rằng đây là những vấn đề tương đối bí truyền đối với nhiều người. – John

7

Ba gói thực tế là ba khái niệm vẽ đồ thị khác nhau. Thiết bị âm mưu tiêu chuẩn diễn ra nhanh chóng nếu bạn biết bạn đang làm gì, và trong mắt tôi - khá trực quan theo nghĩa là tất cả các lệnh xử lý các phần tử cụ thể của đồ thị (ô, tiêu đề, trục, nhãn, chú giải, .. .). Các biểu đồ này khá linh hoạt trong bố cục và tôi thấy chúng hữu ích cho hầu hết các biểu đồ thống kê chuẩn và đồ thị 2D thẳng về phía trước.

Lưới là thiết bị vẽ đồ thị dựa trên lưới và cho phép linh hoạt hơn nhiều. Về cơ bản, bạn có thể vẽ bất cứ thứ gì bạn muốn, như được hiển thị trên R Graph Gallery. Đồ thị cũng có thể được chú thích. Lattice là -again, trong mắt tôi - rất hữu ích cho các đồ thị cao cấp có thể tùy chỉnh. Tôi sử dụng nó chủ yếu khi tôi tạo bản đồ màu, hình ảnh 3D và đồ thị kết hợp của các tập con khác nhau của dữ liệu của tôi (ví dụ: trong xây dựng mô hình, cho các hiệu ứng của các thuật ngữ khác nhau.). Xem thêm Using lattice graphics in R.

ggplot2 thực sự là một nỗ lực để kết hợp tốt của cả hai hệ thống: bạn giữ phần lớn sự linh hoạt của mạng, nhưng bạn làm việc trên các đối tượng đồ thị dễ dàng xác định như bạn làm với âm mưu tiêu chuẩn. Đầu ra đồ họa nhìn chung tốt hơn so với các thiết lập tiêu chuẩn trong gói tiêu chuẩn, và với ít rắc rối hơn với mạng tinh thể. Cá nhân, tôi chỉ có ít kinh nghiệm với ggplot2, nhưng nó trông chắc chắn đầy hứa hẹn. Tôi vẫn thích gói đồ thị cơ bản hơn, nhưng điều đó có lẽ nhiều hơn để làm với thực tế là tôi đang sử dụng nó. Những con khỉ cũ và những mánh khóe mới và tất cả ...

Về cơ bản, tôi muốn nói với những gì bạn cảm thấy thoải mái nhất. Tôi chắc chắn sẽ tìm hiểu ít nhất những điều cơ bản của gói tiêu chuẩn, nhưng từ đó tôi đoán ggplot2 cung cấp cho bạn mọi thứ bạn cần nếu bạn không đi vào đồ họa cao cấp. Nếu bạn thực sự muốn tạo ra các biểu đồ phức tạp tùy chỉnh, việc biết mạng tinh thể chỉ có thể giúp bạn. Nhưng nếu không, hai cái kia cung cấp mọi thứ bạn cần và sử dụng khá thẳng.

+0

Cảm ơn sâu câu trả lời. Chỉ một câu hỏi - ý của bạn là gì với 'đồ họa cao cấp'? – fmark

+0

Chỉ cần một thuật ngữ để đặt tên cho các đồ thị phức tạp trông rất lạ mắt có thể được tìm thấy trên Graph Gallery chẳng hạn. Lựa chọn từ ngữ của tôi không phải lúc nào cũng tốt nhất, vì tiếng Anh không phải là tiếng mẹ đẻ của tôi. –

+0

Cảm ơn bạn đã làm rõ. – fmark

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