使用ggplot2绘制条形图不起作用

时间:2019-04-03 12:34:24

标签: r ggplot2

我想使用ggplot2绘制条形图,但它始终显示相同的错误。

          County      avginc
    1    Los Angelos 116.01993
    2      San Diego  70.04367
    3         Orange  29.15055
    4 San Bernardino  28.32888
    5      Riverside   24.1085
ggplot(data=a,aes(x=County,y=avginc)) + geom_bar("identity")
  

错误:mapping必须由aes()创建

我在做什么错了?

3 个答案:

答案 0 :(得分:0)

现在可以绘制它了,但是输出仍然不令人满意。 y轴的标注顺序不正确。

 ggplot(data=a,aes(x=County,y=avginc))+
  geom_bar(stat="identity")

enter image description here

答案 1 :(得分:0)

使用geom_col()代替geom_bar()

您可以使用x对类别forcats::fct_reorder()变量重新排序。
(加载forcats时会包含软件包tidyverse

library(tidyverse)
a <- data.frame(County = c("Los Angeles", "San Diego", "Orange", "San Bernardino", "Riverside"),
                avginc = c(116.019, 70.04, 29.15, 28.32, 24.1))

ggplot(data = a, aes(x = fct_reorder(County, -avginc), y = avginc)) +
  geom_col()

答案 2 :(得分:0)

我有相同的代码,但输出却不同。

a <- tribble(
~County,~avginc,
"Los Angelos", 116.01993,
"San Diego" , 70.04367,
"Orange" , 29.15055,
"San Bernardino" , 28.32888,
"Riverside" , 24.1085
)


ggplot(data=a,aes(x=County,y=avginc)) +
geom_bar(stat ="identity")

enter image description here