annotation_logticks()和coord_flip()似乎不兼容

时间:2013-12-08 22:50:35

标签: r ggplot2

我在同一个地块上使用annotation_logticks()coord_flip()得到了似乎合并的错误。例如:

ggplot(mtcars, aes(x=mpg, y=disp)) + 
  geom_line() + 
  annotation_logticks(sides="l") +
  coord_flip()

给出错误Error in unit(yticks$y, "native") : 'x' and 'units' must have length > 0traceback()给出的结果我并不完全理解,但似乎与分配单位有关。

另一方面,annotation_logticks()coord_flip() 单独不会造成任何问题。

ggplot(mtcars, aes(x=mpg, y=disp)) + 
  geom_line() + 
  annotation_logticks(sides="l") #+
  #coord_flip()

工作正常,

ggplot(mtcars, aes(x=mpg, y=disp)) + 
  geom_line() + 
  #annotation_logticks(sides="l") #+
  coord_flip()

我可以切换xy映射以避免coord_flip(),但这并不理想(如果我想添加annotation_logticks(),我必须重写旧图实例)。

1 个答案:

答案 0 :(得分:-1)

我遇到了同样的问题 -

ggplot(aq,aes(x=site,y=nox))+geom_boxplot(outlier.shape = NA, color="blue")+ ylab("Concentration (ppm)")+xlab("Site") +theme_bw()+scale_y_log10()+coord_flip()+stat_summary(fun.y=mean, geom="point", size=1.5)+annotation_logticks(sides="l")
  

错误:' x'和'单位'必须有长度> 0此外:有13个   警告(使用警告()来查看它们)

annotation_logticks()coord_flip()命令现在正在协同工作。