首页 文章

无法在ggplot2 facet_wrap geom_histogram plot中修复x轴标签

提问于
浏览
1

也许我在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()

结果是:

Ex

我有一个类似的设置,产生这个:

Histogram
对cmd执行此操作的任何帮助,或者可以设置这些x轴标签中断的功能都会很棒!

2 回答

  • 1

    我想通了 - 至少是一个被黑的答案 - 并且会发布我的解决方案以防其他人可以使用它 . 基本上我调整了轴文本的字体大小,并使用比例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)
    
  • 0

    如果你不想在标签中使用逗号,你可以设置类似的东西

    options(scipen = 10)
    

    在绘图之前 . 这使得使用科学记数法的阈值更高,因此在这种情况下将使用普通标签 .

相关问题