[英]Adding a legend to a ggplot with a scatterplot and a line graph
我在一張圖上有混合的散點圖和線圖ggplot。 散點圖和折線圖基於不同的數據。 點為藍色,線為紅色。 我想添加一個圖例,該圖例顯示對應於數據的藍點和對應於紅線中數據的紅線。 在ggplot中這可能嗎?
我的數據是R中的定量金融簡介中的JetFuelHedging.csv,可在此處找到
price <- read.csv("JetFuelHedging.csv")
price$Date <- as.Date(as.yearmon(price$Date))
ggplot(price, aes(x=Date, group = 1))+
geom_point(aes(y = JetFuel), colour = "dodgerblue2")+
geom_line(aes(y=HeatingOil), color = "Red")+
labs(x = "Month", y = "USD")+
scale_x_date(date_breaks = "6 months", date_labels = "%b %Y")+
theme(axis.text.x=element_text(angle=60, hjust=1))
要獲得圖例,您應該在aes()
包含colour
。
嘗試這個-
> price$Date <- as.Date(as.yearmon(price$Date))
> ggplot(price, aes(x=Date, group = 1))+
geom_point(aes(y = JetFuel, colour = "dodgerblue2"),show.legend = T)+
geom_line(aes(y=HeatingOil, colour = "Red"),show.legend = T)+
labs(x = "Month", y = "USD")+
scale_x_date(date_breaks = "6 months", date_labels = "%b %Y")+
theme(axis.text.x=element_text(angle=60, hjust=1)) +
scale_colour_manual(name = 'Legend',
guide = 'legend',
values = c('dodgerblue2' = 'blue',
'Red' = 'red'),
labels = c('Points',
'Line'))
要編輯圖例形狀,您可以參考以下內容-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.