簡體   English   中英

在GGplot中繪制多條線,並用不同的線對應不同的年份

[英]Plotting Multiple Lines in GGplot with Different lines corresponding to a different year

我正在嘗試使用ggplot繪制多行(按年分類)以獲取分類變量的均值。 我很沮喪,嘗試過各種方法,但不能完全得到我想要的。 我有原始觀測值,每個觀測值上都帶有年份標志,並附加了損失值,但這是我試圖按年/司法方向對平均損失進行分組的快照。

我想按分類變量級別匯總所有損失值,然后按年份進一步匯總

我的目標是這樣的:

我想要一個圖,該圖具有根據變量而變化的級別數(對於JudicialOrientation,我具有3個級別:防御,中性,原告),所以這些將是x值,然后我想要一個線形圖,將每個3值之間的均值連接起來級別,但我想要代表2006、2007、2008等的多行。

因此,對於該特定級別,我將使用不同的彩色線來對應不同年份的MeanLoss值。 我希望這是有道理的。

我是ggplot的新手,我看到有些人使用一行,而另一些人則使用多行。 兩種方法我都可以。

到目前為止的嘗試:

ggplot() +geom_line(data=df1, aes(x=JudicialOrientation, y = MeanLoss, color=Year))

帶有一些dplyr代碼以獲取聚合的示例數據幀意味着:

df <-data.frame(Year=c("2006","2006","2006","2007","2007","2007","2008","2009","2010","2010","2009","2009"), 
           JudicialOrientation=c("Defense","Plaintiff","Plaintiff","Neutral","Defense","Plaintiff","Defense","Plaintiff","Neutral","Neutral","Plaintiff","Defense"),
           Loss = c(100000,100,2500,100000,25000,0,7500,5200, 900,100,0,50)
           )


df1 <- df%>% group_by(Year,JudicialOrientation) %>% summarise(MeanLoss =mean(Loss))

讓我知道您可能有的任何提示。 謝謝!

我想您在運行代碼后看到了消息。

geom_path:每個組僅包含一個觀測值。 您是否需要調整小組審美?

因此,調整小組的審美觀念會為您提供

ggplot(data = df1, aes(x = JudicialOrientation, y = MeanLoss, color=Year, group = Year)) +
  geom_line() +
  geom_point()

在此處輸入圖片說明

我添加了geom_point以便您看到例如2008的值實際上在那里。 僅使用geom_line不會看到它們。 希望這可以幫助。


您甚至可以讓stat_summary為您進行匯總,然后直接使用df

這是怎么

ggplot(df, aes(x = JudicialOrientation, y = Loss, color = Year, group = Year)) +
  stat_summary(geom = "line", fun.y = mean) +
  stat_summary(geom = "point", fun.y = mean)

暫無
暫無

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

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