我有一個疊加了列和點的資料集。繪圖相當簡單,但我似乎無法讓 geom_point 顯示為單獨的圖例。相反,它默認將兩者結合起來。
我嘗試將這些點添加為單獨的資料框,將映射點添加為因子,以及在論壇上找到無窮無盡的功能。有什么提示嗎?
下面的簡化示例:
library(ggplot2)
Site <- c("A", "B", "C", "A", "B", "C")
Year <- c(2020, 2020, 2020, 2019, 2019, 2019)
Geomean <- c(65,184,27,21,67,51)
Historical.Geomean <- c(76,81,44,76,81,44)
df <- data.frame(Site, Year, Geomean, Historical.Geomean)
df$Year <- as.factor(df$Year)
fw_ecoli_plot <-
ggplot(df)
geom_col(aes(x=Site, y=Geomean, fill=Year), position="dodge")
geom_point(aes(x=Site, y=Historical.Geomean),
color="black", pch=18, show.legend = T)
theme_bw()
fw_ecoli_plot

uj5u.com熱心網友回復:
通過將值放入aes,您基本上是在生成一個新的因子變數和一個圖例。
如果您將值放在aes-> ggplot之外,則不會創建圖例。你可以試試:
df %>%
ggplot(aes(x=Site, y=Geomean))
geom_col(aes(fill=Year), position="dodge")
geom_point(aes(x=Site, y=Historical.Geomean, color="black"), pch=18, show.legend = T)
scale_color_manual(values = c('black' = 'black'))
guides(fill = guide_legend(override.aes = list(shape = NA)))
theme_bw()

uj5u.com熱心網友回復:
這個怎么樣:
Site <- c("A", "B", "C", "A", "B", "C")
Year <- c(2020, 2020, 2020, 2019, 2019, 2019)
Geomean <- c(65,184,27,21,67,51)
Historical.Geomean <- c(76,81,44,76,81,44)
df <- data.frame(Site, Year, Geomean, Historical.Geomean)
df$Year <- as.factor(df$Year)
fw_ecoli_plot <-
ggplot(df)
geom_col(aes(x=Site, y=Geomean, fill=Year), position="dodge" )
geom_point(aes(x=Site, y=Historical.Geomean, colour="Historical Mean"),
pch=18)
scale_colour_manual(values="black")
labs(colour="")
theme_bw()
fw_ecoli_plot

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/420810.html
標籤:
