簡體   English   中英

在 ggplot2 中添加圖例

[英]Adding a Legend in ggplot2

我有以下代碼。

  Financial_Wealth.lq,Financial_Wealth.uq,Total_Wealth.lq,Total_Wealth.uq,time=seq(0,(sPar.dNN),1))
ggplot(data, aes(x=time)) +
  geom_line(aes(y = Human_Capital.mean), color="red", size=1) +
  geom_line(aes(y = Financial_Wealth.mean), color="goldenrod3", size=1) +
  geom_ribbon(aes(ymin=Financial_Wealth.lq, ymax = Financial_Wealth.uq), alpha=0.4, fill="goldenrod3") +
  geom_line(aes(y = Total_Wealth.mean), color="dodgerblue", size=1)+
  geom_ribbon(aes(ymin=Total_Wealth.lq, ymax=Total_Wealth.uq), alpha=0.4, fill = "dodgerblue") +
  scale_x_continuous(name = 'Age',
                     breaks=(c(seq(0,(sPar.dNN),4))))+
  scale_y_continuous(name = 'Wealth Level',
                     breaks = seq(0,100,10))+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        legend.title = element_text(size=12, face="bold"),
        legend.text = element_text(size=12),
        axis.title = element_text(size=12),
        axis.text = element_text(size=10)) +
  coord_cartesian(xlim = c(0,45), ylim = c(0,100), expand = TRUE)+
  scale_fill_manual(name="Median",values=c("goldenrod3", "red","dodgerblue"),
                    labels = c("Financial Wealth", "Human Capital", "Total Wealth"))+
  ggtitle('Optimal Wealth Development') 

您可以將每個數據輸入解釋為等長數字的向量。 有人能告訴我為什么傳說沒有出現嗎? 我需要做些什么不同的事情:在此先感謝 :) 我附上了它正在制作的圖像,以便您了解我想要實現的目標。

圖片

為了添加圖例,您需要在aes()中指定一種美學。 在這種情況下,請進行所有geom_line()調用,並為每個調用放置color=內部aes() aes()中分配給color=的值將是圖例中 label 的文本:不是顏色。 要分配顏色,您需要添加scale_color_manual()並設置values=命名向量。

請參閱下面的以下更改,這些更改應該可以解決您的問題,盡管在沒有您的數據集或 reprex 的情況下,我無法測試新代碼的 function。

# original code
... +
geom_line(aes(y = Human_Capital.mean), color="red", size=1) +
geom_line(aes(y = Financial_Wealth.mean), color="goldenrod3", size=1) +
geom_line(aes(y = Total_Wealth.mean), color="dodgerblue", size=1)+

# new plot code
... +
geom_line(aes(y = Human_Capital.mean, color="Human Capital Mean"), size=1) +
geom_line(aes(y = Financial_Wealth.mean, color="Financial Wealth Mean"), size=1) +
geom_line(aes(y = Total_Wealth.mean, color="Total Wealth Mean"), size=1) +
scale_color_manual(values=c(
  "Human Capital Mean"="red",
  "Financial Wealth Mean"="goldenrod3",
  "Total Wealth Mean"="dodgerblue"))

暫無
暫無

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

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