R 无法修复ggplot2镶嵌面包裹几何柱状图中的x轴标签

R 无法修复ggplot2镶嵌面包裹几何柱状图中的x轴标签,r,ggplot2,histogram,axis-labels,facet-wrap,R,Ggplot2,Histogram,Axis Labels,Facet Wrap,可能我在stackexchange文献中遗漏了这一点,因为我很惊讶地发现有许多解决方案可以添加浮动轴标签和调整轴(例如),但没有任何解决我的问题,即使用面_wrap和scales=“free”重叠x轴标签。此版本很接近,但对于较旧的ggplot版本:。这一个可能是答案,写一个函数来做这样的操作,但我不能让它为我工作: 以下是一个可复制的示例: v<-runif(1000,min=1000000,max=10000000) x<-runif(100,min=0.1,max=1) y&l

可能我在stackexchange文献中遗漏了这一点,因为我很惊讶地发现有许多解决方案可以添加浮动轴标签和调整轴(例如),但没有任何解决我的问题,即使用面_wrap和scales=“free”重叠x轴标签。此版本很接近,但对于较旧的ggplot版本:。这一个可能是答案,写一个函数来做这样的操作,但我不能让它为我工作:

以下是一个可复制的示例:

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()

v我找到了答案——至少是一个黑客破解的答案——并将发布我的解决方案,以备其他人使用。
基本上,我调整了axis文本的字体大小,并使用scales pkg来保持符号的一致性(即摆脱科学性)。我的密码是:

ggplot(melt.df, aes(x = value)) +
geom_histogram(bins=50,na.rm=TRUE) +
facet_wrap(~variable, scales="free") +
theme_bw()+
theme(axis.text=element_text(size=10),text=element_text(size=16))+
scale_x_continuous(labels = scales::comma)

如果不希望标签中出现逗号,可以设置如下内容

options(scipen = 10)

在策划之前。这使得使用科学记数法的门槛更高,因此在这种情况下将使用普通标签。

第一步:制作一个可复制的示例,代表您的实际用途。它不一定是你的数据,只是模拟一些东西。否则,每个想解决你的问题的人都必须提出自己的。。。但是
diamond
示例在每个x轴标签中有2个数字,而另一个绘图在每个标签中有4到7个数字。似乎
diamond
示例不是一个好的示例。@Gregor我不确定我应该为此得到-1,尽管现在我很好奇这两种不同情况的解决方案是如何独特的。既然有了一个好的示例,Downvote很高兴地收回了!以钻石为例,小字体大小的调整效果会很好。对于您的案例来说,这肯定不是真的,能够在类似于真实用例的东西上进行测试是很好的。否则,有人会回答,你只会说“谢谢,它适用于简单的示例,但不适用于我的真实数据”。@Gregor你的观点很好。我很感谢你的反馈。还有几个问题:你是如何使用输出的?它被拯救了吗?你知道保存的尺寸吗?您是否愿意接受与数字格式相关的修复(即更科学的符号)?旋转文本怎么样?