我在同一个地块上使用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 > 0
。 traceback()
给出的结果我并不完全理解,但似乎与分配单位有关。
另一方面,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()
我可以切换x
和y
映射以避免coord_flip()
,但这并不理想(如果我想添加annotation_logticks()
,我必须重写旧图实例)。
答案 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()
命令现在正在协同工作。