X轴溢出(ggplot2)

5
我有一份公司列表,其中包括三个变量:成立年份、市值和公司名称(实际上是股票代码)。
我想通过成立年份(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

4
你考虑过旋转 x 轴标签吗?例如,使用 + theme(axis.text.x = element_text(angle = 90, hjust = 1)) 进行旋转(参见这里)。 - David Robinson
@DavidRobinson:我之前没有考虑过,但这是一个在无法实现更宽的坐标轴标签时非常有用的备选方案。 - sogrady
2个回答

9

希望这可以帮到您。如果旋转轴不起作用,您可以使用 scale_x_continuous 中的 breakslabels 手动设置轴的间隔和标签,如下所示:

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


3
答案在这里找到:这里 对于您的情况,我建议将x轴标签旋转90度:
+ theme(axis.text.x=element_text(angle=90, hjust=1))

同时更改 y 轴标注方式:

+ scale_y_continuous(labels=comma)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接