我想使用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()
创建
我在做什么错了?
答案 0 :(得分:0)
现在可以绘制它了,但是输出仍然不令人满意。 y轴的标注顺序不正确。
ggplot(data=a,aes(x=County,y=avginc))+
geom_bar(stat="identity")
答案 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)