我正在努力整理一些R演示,向同事展示它的一些功能.我特别希望,让他们感兴趣的ggplot2,因此用小面的一个简单的例子放在一起facet_grid用的iris数据集.
为了向他们展示不同的模式,我想向他们展示使用的产品.~Species,Species~.以及Species~Species(我承认的一个不好的例子).
这似乎引起了一些奇怪的行为ggplot,我想知道为什么会这样.我希望下面的图表包含沿对角线的点,每个轴上的物种名称彼此匹配.相反,所有内容都列在setosax轴下,然后列在y轴的实际物种下.
我意识到这个例子不会出现在任何现实的使用场景中,它只是让我感到有趣的怪癖.为什么会ggplot这样?
我也尝试使用mtcars数据集并获得相同的效果.
library("ggplot2")
data(iris)
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) +
geom_point() +
theme_bw() +
facet_grid(Species~Species)
Run Code Online (Sandbox Code Playgroud)
那是因为您没有 ggplot2 的任何信息来打印 setosa 和 versicolor 的组合。
在此代码中,我重用了 @Sam 注释,并对我们正在创建的新列物种进行采样(更改顺序)。这创造了物种的组合。从生态角度来看,这样做可能会产生误导,就像我所做的那样,但可以肯定的是,它以不同facet_grid的组合打印物种。
library("ggplot2")
data(iris)
iris$Species1 <- sample(iris$Species)
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) +
geom_point() +
theme_bw() +
facet_grid(Species~Species1)
Run Code Online (Sandbox Code Playgroud)
这就是它可能的样子。同样,我刚刚创建了不同的物种对以在面网格中打印对。

这是不同年份的例子
iris$Year <- rep(2010:2014,dim(iris)[2])
ggplot(iris, aes(Petal.Width, Petal.Length, colour=Species)) +
geom_point() +
theme_bw() +
facet_grid(Year~Species)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |