溢出的X轴(ggplot2)

时间:2013-01-20 20:24:38

标签: r ggplot2

我有一个公司列表,其中包括三个变量:创立年份,市值和公司名称(实际上,股票代码)。

我想按年份(X轴)和市值(Y轴)绘制它们,填充由供应商名称确定。

这样做:

 qplot(factor(Founded), Market.Cap, data = mcap, geom = "bar", fill = Vendor)

得到我,但X轴难以辨认(见下文)。我试图提供scale_x_discrete()值(1900 - 2012等),但没有运气。我如何告诉ggplot2不显示实际值,而是显示我选择的频谱?

作为旁注,如果你能提醒我如何避免Y轴上的科学记数法,那很好。

enter image description here

2 个答案:

答案 0 :(得分:9)

我希望这会有所帮助。如果旋转轴不起作用,则可以使用breaks中的labelsscale_x_continuous手动设置轴的断点和标签,如下所示:

require(ggplot2)
# dummy data
set.seed(45)
len <- 50
df <- data.frame(years = factor(seq(1901, 1950, length.out = len)), 
           values = 1e6 * runif(len), group=factor(rep(1:5, each=len/5)))
p <- ggplot(data = df, aes(x = years, fill=group)) + geom_bar(aes(weight = values))
require(scales) # for removing scientific notation
p <- p + scale_y_continuous(labels = comma)
# manually generate breaks/labels
labels <- seq(1901, 2000, length.out=10)
# and set breaks and labels
p <- p + scale_x_discrete(breaks=labels, labels=as.character(labels))
p

ggplot2

答案 1 :(得分:3)

找到答案here

对于您的情况,我建议将x轴标签旋转90度:

+ theme(axis.text.x=element_text(angle=90, hjust=1))

并更改y轴表示法:

+ scale_y_continuous(labels=comma)