繁体   English   中英

如何使用 ggplot 绘制条形图 plot

[英]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()

但这里附有 plot。

在此处输入图像描述 我希望条形高度反映我在 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))

注意:最好不要用 function 名称命名对象( c是一个函数)


base R中,通过barplot ,我们可以直接得到图

barplot(as.matrix(c))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM