如何使用ggplot2绘制非标准化数据?

时间:2012-10-09 06:03:52

标签: r plot ggplot2

我使用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)间隔)。

2 个答案:

答案 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()

enter image description here

虽然可能有更好的方法。从来没有这样做,所以尝试很有趣。

答案 1 :(得分:6)

最直接的方法是使用GGally package。这允许您执行以下操作:

library(GGally)
ggparcoord(iris, columns = 1:4, groupColumn = 5, scale = "globalminmax")

导致:

enter image description here