2015-11-19 69 views
2

我正在嘗試構建一個水平條形圖。coord_flip()混合軸標籤?

library(ggplot2) 
library(plyr) 

salary <- read.csv('September 15 2015 Salary Information - Alphabetical.csv', na.strings = '') 
head(salary) 

salary$X <- NULL 
salary$X.1 <- NULL 

salary$Club <- as.factor(salary$Club) 
levels(salary$Club) 

salary$Base.Salary <- gsub(',', '', salary$Base.Salary) 
salary$Base.Salary <- as.numeric(as.character(salary$Base.Salary)) 
salary$Base.Salary <- salary$Base.Salary/1000000 

salary <- ddply(salary, .(Club), transform, pos = cumsum(Base.Salary) - (0.5 * Base.Salary)) 
ggplot(salary, aes(x = Club, y = Base.Salary, fill = Base.Salary)) + 
    geom_bar(stat = 'identity') + 
    ylab('Base Salary in millions of dollars') + 
    theme(axis.title.y = element_blank()) + 
    coord_flip() + 
    geom_text(data = subset(salary, Base.Salary > 2), aes(label = Last.Name, y = pos)) 

(學分此主題:Showing data values on stacked bar chart in ggplot2文本位置計算)

所得情節是這樣的: enter image description here

我一會兒徹底糊塗了,因爲我用xlab指定標籤,並且theme(axis.title.y = element_blank())隱藏y標籤。但是,這沒有奏效,我通過將其更改爲ylab來實現。這似乎相當混亂,是否有意?

回答

3

這似乎相當混亂,是否意圖?

是。

比使用theme()隱藏在y標籤相反,我覺得

labs(x = "My x label", 
    y = "") 

更簡單。

當您翻轉x和y時,他們會拿起標籤。如果情況並非如此,則在兩種情況中的一種情況下,與有或沒有座標翻轉的圖形相比,會出現不正確的軸標籤 - 這似乎令人困惑和不一致。按原樣,標籤始終是正確的(有和沒有coord_flip)。

另一方面,主題化是事後應用的。