Я ищу способы добавить точки к трем различным графикам параллельно.Как добавить точки на два участка параллельно? (in R)
У меня есть три диаграммы рассеяния, названные s3d1
, s3d2
и s3d3
в одном окне
layout(matrix(c(1,2,1,3),2, 2, byrow = TRUE))
s3d1<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
s3d2<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
s3d3<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
Если я пытаюсь добавить точки s3d1
,
s3d1$points3d(mtcars[,3],mtcars[,4],mtcars[,5],col="red")
Точки пойдет s3d3
но не s3d1
. Что мне не хватает?
Дополнительная информация: Я получаю данные во время работы программы. Поэтому мне нужно добавить точки к каждому из этих графиков как-и-когда я получу данные, специфичные для этого конкретного участка.
Update:
Пробовал par()
функцию, а
par(fig=c(0,0.65,0,1), new=TRUE)
s3d1<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
par(fig=c(0.7,1,0.5,1), new=TRUE)
s3d2<-scatterplot3d(mtcars[,3],mtcars[,4],mtcars[,5],main="common",pch=20)
par(fig=c(0,0.65,0,1), new=TRUE)
s3d1$points3d(mtcars[,3],mtcars[,4],mtcars[,5],col="red")
s3d1$points3d
не добавляет новых точек к s3d1
(и даже не s3d2
). Есть идеи ?
Извините, я должен был сообщить об этом раньше: На самом деле, я рисую все три в одном окне, используя layout(). Итак, при использовании dev.new() открывается новое окно, которое нежелательно – 384X21
Ohhhh ... спасибо за разъяснение! В вызове 'points3d' используется какая-либо ячейка, на которой была построена последняя, которая является нижней правой. Я считаю, что лучшим решением является просто с нуля каждый цикл. Удачи! –
@ user1029725 Да, я нашел «макет» наиболее полезным, когда мне просто нужно быстро выкинуть некоторые сюжеты. Для более пользовательских подзаговоров я всегда использовал 'par (mfrow)' и т. Д. –