我使用条形图来显示停车收费分配在一个城市。我的数据框包括停车计时器ID,该计费器的年收入以及该计费器根据总收入计入的十分位数(1-10)。所以我的命令看起来像这样:试图标签条形图ggplot2,得到“错误:美学必须是长度一,或相同的长度...”
> rev <- ggplot(parking, aes(x=decile, y=revenue))
> rev + geom_bar(stat="identity")
而结果正是我想要的,但我想补充的总收入各等分上面图中的每一个栏,我不知道如何。我尝试这样做:
> aggrev <- aggregate(revenue~decile, data=parking, sum)
> totals <- aggrev$revenue
> rev + geom_bar(stat="identity") + geom_text(aes(label=totals))
但我收到此错误信息: 错误:美学必须是一个长度或相同长度的 dataProblems:总数。
我检查了长度(十分位数)和长度(总计),它们的值分别是4600和10。所以我明白为什么会发生这种情况,但为什么我不能在10个酒吧中添加任何10个字符?或者让图表自动显示小节总数,也许使用“身份”?我决定只要运行这个:
ggplot(aggrev, aes(x=decile,y=revenue))+geom_bar()+geom_text(aes(label=revenue))
其工作原理,但我宁愿没有我想有标签,每次做一个新的数据帧。
你需要告诉ggplot要将标签...怎么会知道你希望他们在每栏的顶部...看看[这里](HTTP:/ /stackoverflow.com/questions/6455088/how-to-put-labels-over-geom-bar-in-r-with-ggplot2) – Justin
为新图层创建新数据框或创建全新变量是您签名的内容当你开始使用ggplot时。它没有被称为“图形语法”。如果你的尝试在语法上不正确,那么...... – joran