Có một câu hỏi tương tự ở đây trong CrossValidated, và tôi đã đọc câu trả lời. Câu hỏi của tôi là một chút khác nhau. Tôi không muốn chỉ trực quan hóa dữ liệu của mình và thực sự những gì tôi muốn trực quan hóa không dễ hình dung bằng một trong hai gói.
Tôi có hai bộ điểm ( tọa độ ) trên cốt truyện của mình. Tôi muốn thêm các cạnh và làm cho nó tương tự như một biểu đồ. Nếu tôi có điểm, thì dựa trên bản chất của vấn đề của tôi, tôi cần thêm cạnh vào cốt truyện.n ( n / 2 ) 2
Sau đó, tôi muốn thêm một số tính năng tương tác vào cốt truyện của tôi. Chẳng hạn, bằng cách nhấp vào một điểm (đỉnh), tất cả các đỉnh khác không được kết nối với đỉnh được nhấp này phải biến mất để có một âm mưu sáng suốt và tập trung hơn.
Tôi đã cố gắng tìm một gói trực quan hóa mạng phù hợp với dự án của mình, nhưng có vẻ như tất cả chúng đều sử dụng dữ liệu về kết nối các cạnh hoặc nút và cung cấp một mạng dựa trên một số thuật toán bố cục cụ thể. Dữ liệu của tôi là khác nhau. Tôi có tọa độ của các nút và tôi muốn thiết lập một số cạnh giữa một số trong số chúng. Trong dữ liệu của tôi, các nút có vị trí cố định riêng và không được di chuyển xung quanh.
Cuối cùng, tôi thu hẹp các gói đến ggvis
và ggplot2
. ggvis
là mới và mới ngoài việc có thiết kế có chủ ý để tạo ra các ô tương tác. Nhưng tôi phát hiện ra rằng ggplot2+Shiny
cũng có thể tạo ra các ô tương tác. (Điều đó có đúng không?) Bên cạnh đó, tôi cho rằng ggplot2
các khả năng của đa dạng và trưởng thành hơn so với ggvis
: ví dụ: ggplot2
có tính năng phóng to trong khi ggvis
không có tính năng này. Quan trọng hơn, khi ggvis
đang phát triển và thay đổi, tôi không muốn đầu tư nhiều thời gian cho một tác phẩm trở nên lỗi thời về mặt kỹ thuật hoặc lỗi trong một năm hoặc lâu hơn. Tôi nghĩ đây là trường hợp nếu tôi viết mã dựa trên ggvis
.
Bây giờ bạn có thể vui lòng đánh giá sự lựa chọn của tôi ( ggplot2+shiny
) và tư vấn cho tôi về khả năng thực hiện những gì tôi muốn làm với nó không?
Vì tôi không biết bất kỳ gói nào được đề cập, tôi đã bắt đầu học ggplot2
từ cuốn sách của Wickham và tôi thích nó! Nhưng tôi sợ dành vài tuần và phát hiện ra rằng gói tuyệt vời này không thể làm những gì tôi muốn làm ngay cả với sự trợ giúp của Shiny
.
PS: Tôi muốn đặt mã cuối cùng trên github để người dùng có thể tải xuống và chạy nó. Do đó, tôi không cần phải tạo một ứng dụng web, không cần bất kỳ trang web nào hoặc đưa bản đồ tương tác trực tuyến. Tôi chỉ cần có một cốt truyện tương tác có thể được chạy từ bên trong Rstudio.
igraph
hay D3?