2016-10-13 48 views
2

中的啞鈴圖表中,我創建了一個啞鈴圖表。使用以下代碼將圖例添加到R

f <- ggplot(Brewers_PA, aes(x=PA.2015, xend=PA.2016, y=Name)) 
f + geom_dumbbell(colour = "darkblue", point.colour.l = "darkred", point.colour.r = "darkBlue", point.size.l = 2.5, point.size.r = 2.5) + 
    theme(plot.background=element_rect(fill = "grey93", colour = "grey93")) + 
    theme(plot.title=element_text(size = 11, face = "bold", hjust = 0)) + 
    theme(axis.text.x=element_text(size = 8)) + 
    theme(axis.text.y=element_text(size = 8)) + 
    theme(axis.title.x=element_text(size = 9)) + 
    theme(axis.title.y=element_text(size=9)) + ylab("") + xlab("Plate Appearance") + 
    ggtitle("Brewers Change in Plate Appearance 2015-2016") 

由於本教程,我能夠做到這一點。 https://www.r-bloggers.com/beating-lollipops-into-dumbbells/

唯一的問題是,我想添加一個圖例,但我不知道如何。有人知道嗎?所有的幫助表示讚賞。

我基本上喜歡傳說中的年份來顯示顏色。因此,「darkblue」= 2016(PA.2016),「darkred」= 2015(PA.2015)。我想添加一張圖片,但由於某種原因,它不起作用。

這是該數據幀我創建:

   Name  PA.2015 PA.2016 
1 Jonathan Villar  128  679 
2  Chris Carter  460  644 
3  Ryan Braun  568  564 
4 Scooter Gennett  391  542 
5  Hernan Perez  272  430 
6 Kirk Nieuwenhuis  141  392 
7 Jonathan Lucroy  415  544 
8  Aaron Hill  353  429 
9  Ramon Flores  289  289 
10 Domingo Santana  187  281 
11 Martin Maldonado  256  253 
12  Keon Broxton  2  244 
13 Orlando Arcia  0  216 

回答

5

PKG筆者,在這裏。

我建議不爲讀者增加額外的解釋週期,使之成爲中圖「傳奇」,再加上去掉一些「圖表垃圾」美學:

library(ggplot2) 
library(ggalt) 

read.table(text='Name  PA.2015 PA.2016 
"Jonathan Villar" 128  679 
"Chris Carter"  460  644 
"Ryan Braun"  568  564 
"Scooter Gennett"  391  542 
"Hernan Perez"  272  430 
"Kirk Nieuwenhuis"  141  392 
"Jonathan Lucroy"  415  544 
"Aaron Hill"  353  429 
"Ramon Flores"  289  289 
"Domingo Santana"  187  281 
"Martin Maldonado"  256  253 
"Keon Broxton"  2  244 
"Orlando Arcia"  0  216', header=TRUE, quote='"') -> Brewers_PA 

f <- ggplot() 
f <- f + geom_dumbbell(data=Brewers_PA, 
         aes(x=PA.2015, xend=PA.2016, y=Name), 
         colour = "darkblue", 
         point.colour.l = "darkred", point.colour.r = "darkBlue", 
         point.size.l = 2.5, point.size.r = 2.5) 
f <- f + geom_text(data=data.frame(), 
        aes(x=391, y= "Scooter Gennett", label="2015"), 
        color="darkred", hjust=1, size=3, nudge_x=-10) 
f <- f + geom_text(data=data.frame(), 
        aes(x=542, y= "Scooter Gennett", label="2016"), 
        color="darkBlue", hjust=0, size=3, nudge_x=10) 
f <- f + scale_x_continuous(expand=c(0,10)) 
f <- f + labs(x=NULL, y=NULL, 
       title="Brewers Change in Plate Appearance 2015-2016") 
f <- f + theme(plot.background=element_rect(fill = "grey93", colour = "grey93")) 
f <- f + theme(plot.title=element_text(size = 11, face = "bold", hjust = 0)) 
f <- f + theme(axis.text.x=element_text(size = 8)) 
f <- f + theme(axis.text.y=element_text(size = 8)) 
f <- f + theme(axis.title.x=element_text(size = 9)) 
f <- f + theme(axis.title.y=element_text(size=9)) 
f <- f + theme(axis.ticks=element_blank()) 
f <- f + theme(panel.grid.major.y=element_blank()) 
f <- f + theme(plot.margin=margin(30,30,30,30)) 
f 

enter image description here

+0

真棒!非常感謝,而且很棒的包裝,順便說一句。讓我的生活變得更輕鬆。 – Julien