coord_flip()混合轴标签?

时间:2015-11-19 21:45:27

标签: r ggplot2

我正在尝试构建一个水平条形图。

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来实现它。这看起来相当令人困惑,是不是有意?

1 个答案:

答案 0 :(得分:3)

  

这看起来相当令人困惑,是不是有意?

我认为不是使用theme()隐藏y标签,而是

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

更直接。

当您翻转x和y时,他们会带上标签。如果不是这种情况,那么在有和没有坐标翻转的情况下比较图表会在两种情况中的一种情况下出现不正确的轴标签 - 这看起来令人困惑和不一致。原样,标签总是正确的(有和没有coord_flip)。

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