Tôi đang cố gắng vẽ một số triệu điểm dữ liệu trong R. Tôi hiện đang sử dụng ggplot2 (nhưng tôi mở để gợi ý các gói thay thế). Vấn đề là biểu đồ mất quá nhiều thời gian để hiển thị (thường lên trên một phút). Tôi đang tìm cách để làm điều này nhanh hơn - trong thời gian thực lý tưởng. Tôi sẽ đánh giá cao bất kỳ sự trợ giúp nào - đính kèm mã vào câu hỏi cho sự rõ ràng.Hiệu quả vẽ hàng triệu điểm dữ liệu trong R
Tạo (ngẫu nhiên) khung dữ liệu với ~ 500000 điểm dữ liệu:
letters <- c("A", "B", "C", "D", "E", "F", "G")
myLetters <- sample(x = letters, size = 100000, replace = T)
direction <- c("x", "y", "z")
factor1 <- sample(x = direction, size = 100000, replace = T)
factor2 <- runif(100000, 0, 20)
factor3 <- runif(100000, 0, 100)
decile <- sample(x = 1:10, size = 100000, replace = T)
new.plot.df <- data.frame(letters = myLetters, factor1 = factor1, factor2 = factor2,
factor3 = factor3, decile = decile)
Bây giờ, âm mưu dữ liệu:
color.plot <- ggplot(new.plot.df, aes(x = factor3, y = factor2, color = factor1)) +
geom_point(aes(alpha = factor2)) +
facet_grid(decile ~ letters)
Làm thế nào để làm cho render nhanh hơn ?
Điều đầu tiên xuất hiện trong đầu tôi là lấy một tập hợp con dữ liệu đầy đủ mà bạn đang vẽ. Ít điểm hơn có lẽ có nghĩa là thời gian hiển thị nhanh hơn. Bí quyết là tìm ra cách lấy mẫu hàng triệu điểm. –
Cảm ơn Tim. Tôi đang thử các phương pháp lấy mẫu khác nhau, nhưng ngoài việc đi xuống con đường đó, có cách nào khác không? –
Chỉ có 2 thứ có thể là một giải pháp thay thế sẽ bằng cách nào đó bằng cách sử dụng 'ggplot' để render nhanh hơn, đòi hỏi chuyên môn mà tôi không có. Và khả năng khác sẽ là dĩ nhiên để có được một cỗ máy nhanh hơn, mà có lẽ không phải là một lựa chọn. –