如何使用ggplot绘制条形图

时间:2020-05-15 19:33:55

标签: r ggplot2 geom-bar

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

但情节附在这里。

enter image description here 我希望条形高度将数据反映在y轴上,而不是将条形图放置在x轴上的位置,但是我不知道代码中的问题是什么。

1 个答案:

答案 0 :(得分:1)

我们可以使用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))