通过ggplot,我有一个如下图,使用下面的代码。但是,如果我这样画,我根本看不到x轴。我想知道是否有任何方法可以解决这个问题,例如更改每行中的列数。我在ncol
中尝试了facet_grid
命令,但它不允许我这样做。
ggplot(derivative, aes(x = factor(move), fill = factor(move)), colour = black)+
geom_bar()+
facet_grid(Market~Season)+
scale_fill_discrete(name="Relative Market Move",
breaks=c("neg.big", "neg.small", "pos.big", "pos.small"),
labels=c("Big Negative", "Small Negative", "Big Positive", "Small Positive"))+
scale_x_discrete(labels=c("Large Negative", "Small Negative", "large Positive", "Small Positive"))+
labs( x = "") +ylab("Count")
答案 0 :(得分:1)
你可能会更好地使用堆积条形图和"负面"指向下方。这将更有效地使用水平空间,并使您更容易看到时间趋势。例如:
3,20
2,40
4,10
1,50
首先创建一些假数据:
library(reshape2)
现在的情节:
set.seed(199)
dat = data.frame(index=rep(c("S&P 500","Shanghai","Hang Seng"), each=7),
year=rep(paste0(rep(2009:2015,each=2),rep(c("Sp","Au"),7)), 3),
replicate(3, sample(50:100,14*3)))
dat$big.neg = 300 - rowSums(dat[,3:5])
names(dat)[3:5] = c("big.pos","small.pos","small.neg")
# Set year order
dat$year = factor(dat$year, levels=dat$year[1:14])
# Melt to long format
dat = melt(dat, id.var=c("year","index"))