我是R编程的新手,我想在一张图表中绘制多个三角形。当我将ggplot命令放在for循环中时,它只会重置图表查看器,但是我想同时查看一个绘图中的所有绘图。这是我一直在努力的代码。
data<-read.csv("test.csv",sep=",",header=TRUE)
library("ggplot2")
for(i in 1:5){
D=data.frame(x=c(data$x1[i],data$x2[i],data$x3[i]),
y=c(data$y1[i],data$y2[i],data$y3[i]))
print(ggplot()+
(geom_polygon(data=D, mapping=aes(x=x,y=y),col="blue")))
}
我希望你能帮助我。非常感谢
我们可以使用data.table包将整形调整到一个步骤,因为它允许我们为度量列指定模式。
首先,我们为每个观察创建一个ID:
dat$ID <- 1:nrow(dat)
然后,我们以长格式创建数据。这是ggplot的最佳格式:每个观察值(或点)都在其自己的行上。
library(data.table)
dat_m <- melt(setDT(dat),measure=patterns(c("^x","^y")),value.name=c("x","y"))
绘制很容易:
p <- ggplot(dat_m, aes(x=x,y=y,group=ID)) +
geom_polygon()
p
使用的数据:
dat <- structure(list(x1 = c(1, 3, 5), x2 = c(2, 4, 6), x3 = c(1, 3,
5), y1 = c(1, 1, 1), y2 = c(1, 1, 1), y3 = c(2, 2, 2)), .Names = c("x1",
"x2", "x3", "y1", "y2", "y3"), row.names = c(NA, -3L), class = "data.frame")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句