Tôi đang cố tạo một ô hoạt hình trong R từ một tập dữ liệu lớn (từ một thử nghiệm khoa học tuần hoàn), để hình dung sự thay đổi trong hai biến theo thời gian. đang sử dụng các thư viện animation
với chỉ đơn giản là:R: "InvalidArgument` -delay 'với hoạt ảnh và ggplot
saveGIF(
for(i in 1:100){
mygraph(i)
}, interval = 0.1, ani.width = 640, ani.height = 480)
nơi mygraph(i)
chỉ mưu đồ thị cho chu kỳ i Nếu tôi sử dụng plot()
để làm cho đồ thị, sau đó nó hoạt động hoàn toàn tốt đẹp, nhưng nếu tôi thay vì sử dụng ggplot (. mà tôi muốn làm khi cuối cùng tôi muốn sử dụng điều này để tạo ra các ô phức tạp hơn), sau đó nó không hoạt động và tôi nhận được kết quả sau:
Executing:
'convert' -loop 0 -delay 'animation.gif'
convert: InvalidArgument `-delay': animation.gif @ error/convert.c/ConvertImageCommand/1161.
an error occurred in the conversion... see Notes in ?im.convert
[1] FALSE
Tôi rất mới đối với R nên tôi hơi bị kẹt và tôi đã không tìm ra giải pháp nào từ việc xem số ?im.convert
hoặc tìm kiếm xung quanh. Bất kỳ đề xuất sẽ được vô cùng đánh giá cao ...
Ví dụ với dữ liệu giả theo yêu cầu:
library(animation)
library(ggplot2)
x <- 1:20
y <- 21:40
z <- c(1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,4,4,4,4,4)
data <- data.frame(x,y,z)
mygraph <- function(i) {
plot(data$x[data$z == i],
data$y[data$z == i],
title(title))
}
saveGIF(
for(i in 1:4){
title <- paste("Cycle", i, sep=" ")
mygraph(i)
}, interval = 0.5, ani.width = 640, ani.height = 480)
này hoạt động, nhưng nếu chức năng mygraph
là thay vì:
mygraph <- function(i) {
ggplot() +
geom_point(aes(x=data$x[data$z == i], y=data$x[data$z == i]))
}
... sau đó nó cho tôi lỗi như đã nêu ở trên.
bạn có thể cho chúng ta một ví dụ tái sản xuất nhỏ xin vui lòng? –
Đã chỉnh sửa câu hỏi ban đầu của tôi bằng ví dụ đơn giản cung cấp cho tôi lỗi tương tự. – mjlacey