我使用ggplot2
绘制Iris数据。似乎ggplot2
会自动将数据标准化为(0.1)间隔。如何在没有任何标准化操作的情况下绘制数据?
library(ggplot2)
p <- ggpcp(iris, vars = names(iris[1:4]))
p + geom_line(aes(color = Species)) + ylim(0,8)
我不是母语为英语的人,我很抱歉模棱两可。实际上,虹膜数据从0到8各不相同。我想绘制的数据准确反映实际值,而不是标准化值(将原始数据转换为(0,1)间隔)。
答案 0 :(得分:6)
也许:
library(ggplot2)
p <- ggpcp(iris, vars = names(iris[1:4]))
iris2 <- data.frame(id=1:nrow(iris), iris)
dat <- reshape2::melt(iris2,id.var = c("id", "Species"))
ggplot(aes(y=value, x=variable, group=id, color=Species), data=dat) + geom_path()
虽然可能有更好的方法。从来没有这样做,所以尝试很有趣。
答案 1 :(得分:6)
最直接的方法是使用GGally package。这允许您执行以下操作:
library(GGally)
ggparcoord(iris, columns = 1:4, groupColumn = 5, scale = "globalminmax")
导致: