2015-11-19 64 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)。

另一方面,主题化是事后应用的。