我将使用一个数据集和图表,这些来自之前的问题(在这里):
dat <- read.table(text = " Division Year OperatingIncome
1 A 2012 11460
2 B 2012 7431
3 C 2012 -8121
4 D 2012 15719
5 E 2012 364
6 A 2011 12211
7 B 2011 6290
8 C 2011 -2657
9 D 2011 14657
10 E 2011 1257
11 A 2010 12895
12 B 2010 5381
13 C 2010 -2408
14 D 2010 11849
15 E 2010 517",header = TRUE,sep = "",row.names = 1)
dat1 <- subset(dat,OperatingIncome >= 0)
dat2 <- subset(dat,OperatingIncome < 0)
ggplot() +
geom_bar(data = dat1, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") +
geom_bar(data = dat2, aes(x=Year, y=OperatingIncome, fill=Division),stat = "identity") +
scale_fill_brewer(type = "seq", palette = 1)
以下是相关图表,也是我提问的内容:
我的问题:我能否更改y轴标签,让它在同一边分别显示两个不同的标签?其中一个标签应该写上“负收入”并位于y轴的下方,另一个标签应该写上“正收入”并位于同一y轴的上方。
我看到这个问题在不同刻度的双y轴方面已经有人问过了,但我特别想要在同一y轴上实现此功能。如果可以的话,我更喜欢使用ggplot2解决此问题。谢谢任何帮助。
ggplot2
中没有这样做的方法,但是您可以使用cowplot
的通用绘图注释。 - Gregor Thomas