如何使用ggplot绘制条形图
How to plot a barplot using ggplot
average
Young 0.01921875
Cohoused Young 0.07111951
Old 0.06057224
Cohoused Old 0.12102273
我正在使用上面的数据框创建直方图或条形图,我的代码如下:
C <-ggplot(data=c,aes(x=average))
C + geom_bar()
不过这里附上剧情
我希望条形高度反映我在 y 轴上的数据,而不是条形图在 x 轴上的位置,但我不知道我的代码有什么问题。
我们可以用 rownames_to_column
创建一个列
library(dplyr)
library(tibble)
library(ggplot2)
c %>%
rownames_to_column('rn') %>%
ggplot(aes(x = rn, y = average)) +
geom_col()
或者直接在base R
中创建一列
c$rn <- row.names(c)
ggplot(c, aes(x = rn, y = average)) +
geom_col()
或按照@user20650 的建议
ggplot(data=c,aes(x=rownames(c) , y=average))
注意:最好不要用函数名来命名对象(c
是函数)
在base R
中,用barplot
,我们可以直接得到地块
barplot(as.matrix(c))
average
Young 0.01921875
Cohoused Young 0.07111951
Old 0.06057224
Cohoused Old 0.12102273
我正在使用上面的数据框创建直方图或条形图,我的代码如下:
C <-ggplot(data=c,aes(x=average))
C + geom_bar()
不过这里附上剧情
我们可以用 rownames_to_column
library(dplyr)
library(tibble)
library(ggplot2)
c %>%
rownames_to_column('rn') %>%
ggplot(aes(x = rn, y = average)) +
geom_col()
或者直接在base R
c$rn <- row.names(c)
ggplot(c, aes(x = rn, y = average)) +
geom_col()
或按照@user20650 的建议
ggplot(data=c,aes(x=rownames(c) , y=average))
注意:最好不要用函数名来命名对象(c
是函数)
在base R
中,用barplot
,我们可以直接得到地块
barplot(as.matrix(c))