也许我在stackexchange文献中错过了这个,因为我很惊讶地找到了许多添加浮动轴标签和轴调整的解决方案(例如add "floating" axis labels in facet_wrap plot),但没有什么可以解决我用facet_wrap和scale重叠x轴标签的问题= "free" . 这个很接近,但对于较旧的ggplot版本:overlapping y-scales in facet (scale="free") . 这个可能是答案,写一个函数来做这样的操作,但我不能让它对我有用:Is there a way of manipulating ggplot scale breaks and labels?
这是一个可重复的例子:
v<-runif(1000,min=1000000,max=10000000)
x<-runif(100,min=0.1,max=1)
y<-runif(100000,min=0,max=20000)
z<-runif(100000,min=10000,max=2000000)
df<-data.frame(v,x,y,z)
colnames(df)<-c("Order V","Order X","Order Y","Order z")
library(reshape2)
melt.df<-melt(df[,c(1:4)])
library(ggplot2)
ggplot(melt.df, aes(x = value)) +
geom_histogram(bins=50,na.rm=TRUE) +
facet_wrap(~variable, scales="free") +
theme_bw()
结果是:
我有一个类似的设置,产生这个:
对cmd执行此操作的任何帮助,或者可以设置这些x轴标签中断的功能都会很棒!
2 回答
我想通了 - 至少是一个被黑的答案 - 并且会发布我的解决方案以防其他人可以使用它 . 基本上我调整了轴文本的字体大小,并使用比例pkg来保持符号的一致性(即摆脱科学) . 我改变的代码是:
如果你不想在标签中使用逗号,你可以设置类似的东西
在绘图之前 . 这使得使用科学记数法的阈值更高,因此在这种情况下将使用普通标签 .