簡體   English   中英

使用散點圖和折線圖將圖例添加到ggplot

[英]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'))

要編輯圖例形狀,您可以參考以下內容-

ggplot2自定義圖例形狀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM