gpt4 book ai didi

r - 在没有条形图的图例中显示 geom_abline

转载 作者:行者123 更新时间:2023-12-01 07:45:37 26 4
gpt4 key购买 nike

我想在图例中通过 geom_abline 显示添加的行,因为条形图在 x 轴标签中表示。

真尴尬,不知道我怎么忘了玩具数据。我还清理了示例,确保我运行的是最新版本的 R 和 ggplot(并 reshape !)我忘记了它有时是如何产生影响的

最终产品是一个带有添加线(表示平均值)的条形图,该信息显示在图例中,因此红色虚线表示“县平均值”。

library(ggplot2)
DataToPlot.. <- data.frame(UGB = c("EUG","SPR","COB","VEN"),
Rate = c( 782, 798,858,902))

ggplot(DataToPlot.. ,y = Rate, x = UGB) +
geom_bar(aes(x=UGB,y=Rate, fill = UGB),stat="identity",show.legend = FALSE) +
scale_fill_brewer(palette="Set3") +
geom_abline(aes(intercept = 777, slope = 0), colour = "red",
size = 1.25, linetype="dashed",show.legend = TRUE)

最佳答案

玩了一段时间后(没有我想象的那么容易)我用了这个:

library(ggplot2)

DataToPlot.. <- data.frame(UGB = c("EUG","SPR","COB","VEN"),
Rate = c( 782, 798,858,902))

x <- c(0.5,nrow(DataToPlot..)+0.5)
AvgLine.. <- data.frame(UGB=x,Rate=777,avg="777")

ggplot(DataToPlot.. ,y = Rate, x = UGB) +
geom_bar(aes(x=UGB,y=Rate, fill = UGB),stat="identity",show.legend=TRUE ) +
scale_fill_brewer(palette="Set3") +

geom_line(data=AvgLine..,aes(x=UGB,y=Rate,linetype=avg),
colour = "red", size = 1.25) +
scale_linetype_manual(values=c("777"="dashed")) +

# make the guide wider and specify the order
guides(linetype=guide_legend(title="Country Average",order=1,keywidth = 3),
color=guide_legend(title="UGB",order=2))

请注意,我无法强制 geom_abline 制作自己的指南。我必须创建一个数据框。该线的 x 坐标基本上是因子值,我调整它们以超出图的边缘。

得到这个:

enter image description here

关于r - 在没有条形图的图例中显示 geom_abline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34669145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com