geom_bar或geom_col中的多个变量

时间:2019-10-24 20:10:36

标签: r ggplot2

DELETE /api/players/playerId?removeGames=1

我有这个数据记录了香农多样性指数在三个树木,倒立,植物和鸟类的位置。我试图使他们在相同的情节上这样做,但没有任何效果。

Site TreesSDI InvertebratesSDI PlantsSDI BirdsSDI
1     1.31      2.48           1.35      1.84
2     1.46      2.80           1.61      2.05
3     1.78      2.50           2.29      2.40

1 个答案:

答案 0 :(得分:1)

这里有两种绘制方法,但首先,我想鼓励使用长格式的数据结构,该结构在ggplot上效果更好。另外,由于ggplot(通常是tidyverse)非常不符合标准,因此我不鼓励在$中使用aes()-subset方法。这是从宽格式到长格式的方法:

zz <- "Site TreesSDI InvertebratesSDI PlantsSDI BirdsSDI
1     1.31      2.48           1.35      1.84
2     1.46      2.80           1.61      2.05
3     1.78      2.50           2.29      2.40"
df <- read.table(text = zz, header = T)

df <- reshape2::melt(df, id.vars = "Site")

然后,我们可以将其绘制如下:

ggplot(df, aes(Site, value, fill = variable)) +
  geom_col(position = "dodge")

enter image description here

或以下内容:

ggplot(df, aes(variable, value, fill = as.factor(Site))) +
  geom_col(position = "dodge")

enter image description here

选择哪种信息取决于要通过可视化传输的信息或要进行的比较。