R 未在ggplot2中打印反向Y轴记号
我对ggplot2和y轴记号有一些问题-如果有人能提供任何输入,我将不胜感激 我正在尝试创建一个具有独立y轴的“堆叠”图,用于我正在处理的出版物。其思想是将N个图与每个子图的公共X轴(但不同的Y轴)堆叠,同时使其看起来像一个单独的连续图 我想在x轴(对于最底部的子地块)和所有y轴上有倒勾号。问题是,当刻度线在绘图生成过程中快速出现在yaxis上时,它们似乎在最后阶段被覆盖,变得不可见。这是一件很小的事情,我可以把它们放下,但我真的很想知道我自己的理智到底发生了什么 下面是一些应该重现问题的示例代码,这里有一个imgur链接,突出显示了打印样式和缺少的记号 在切线上,如果有人知道如何自定义axis.line.y.right/axis.line.x.top而不使用虚拟的“第二个轴”,请告诉我(这似乎是一种非常冗长的方式来做一些简单的事情) 谢谢你的帮助R 未在ggplot2中打印反向Y轴记号,r,ggplot2,R,Ggplot2,我对ggplot2和y轴记号有一些问题-如果有人能提供任何输入,我将不胜感激 我正在尝试创建一个具有独立y轴的“堆叠”图,用于我正在处理的出版物。其思想是将N个图与每个子图的公共X轴(但不同的Y轴)堆叠,同时使其看起来像一个单独的连续图 我想在x轴(对于最底部的子地块)和所有y轴上有倒勾号。问题是,当刻度线在绘图生成过程中快速出现在yaxis上时,它们似乎在最后阶段被覆盖,变得不可见。这是一件很小的事情,我可以把它们放下,但我真的很想知道我自己的理智到底发生了什么 下面是一些应该重现问题的示例代
ylim=c(-5,5)
xlim=c(3,12)
ybreaks=c(-2,2)
base <- ggplot() +
theme_bw() +
scale_y_continuous(limits=ylim, breaks=ybreaks) +
scale_x_continuous(limits=xlim) +
labs(x="", y="") +
theme( panel.grid.major=element_line("gray78",0.5,1),
panel.border=element_blank(),
axis.text.x=element_blank(),
axis.text.y=element_text(margin=unit(c(0,3,0,0), "mm")))
bottom <- base + xlab("xlab") +
theme( axis.ticks.length.y=unit(-2,"mm"),
axis.ticks.length.x=unit(-2,"mm"),
axis.line.y=element_line(),
axis.line.x=element_line(),
plot.margin=unit(c(0,5,5,5),"mm"),
axis.text.x=element_text(margin=unit(c(3,0,0,0), "mm")))
middle <- base +
theme( axis.ticks.length.y=unit(-2,"mm"),
axis.ticks.length.x=unit(0,"mm"),
axis.line.y=element_line(),
axis.line.x=element_line(linetype=3),
plot.margin=unit(c(0,5,0,5),"mm"),
axis.title=element_blank())
top <- base +
theme( axis.ticks.length.y=unit(-2,"mm"),
axis.ticks.length.x=unit(0,"mm"),
axis.line.y=element_line(),
axis.line.x=element_line(linetype=3),
plot.margin=unit(c(5,5,0,5),"mm"),
axis.title=element_blank())
ggarrange(top,middle,bottom,ncol=1)
ylim=c(-5,5)
xlim=c(3,12)
ybreaks=c(-2,2)
base最简单和更具ggplot-y性的方法是使用面
我建议使用实验室(x=NULL,y=NULL)
,因为使用=''
实际上是在画东西
我正在删除绘图中的镶嵌条,但我通常认为,当您保留标签并在这些图形之间保持一点距离时,您的图形可能会稍微不那么混乱
为了在刻面之间添加虚线,您可以简单地添加注释,例如使用annotate(geom='segment')
库(ggplot2)
ylim=c(-5,5)
xlim=c(3,12)
ybreaks=c(-2,2)
ggplot(data.frame(facet=字母[1:3])+
主题_bw()+
注释(geom='segment',x=-Inf,xend=Inf,y=-Inf,yend=-Inf,线型=3)+
连续缩放(极限=ylim,中断=ybreaks)+
比例x连续(极限=xlim)+
实验室(x=NULL,y=NULL)+
主题(面板网格主元素=元素线(“灰色78”,0.5,1),
panel.border=element\u blank(),
axis.text.x=元素_blank(),
axis.text.y=元素\文本(边距=单位(c(0,3,0,0),“mm”),
面板间距=单位(0,“线”),
strip.background=元素\空白(),
strip.text=element\u blank(),axis.line.y=element\u line(),
axis.line.x=元素线(),
轴刻度长度y=单位(-2,“mm”),
轴刻度长度x=单位(-2,“mm”),
曲线图。边距=单位(c(b=5,t=5,r=5,l=5),“mm”))+
镶嵌面(镶嵌面,nrow=3)
由(v0.3.0)于2020年2月22日创建,最简单、更具ggplot-y性的方法是使用面
我建议使用实验室(x=NULL,y=NULL)
,因为使用=''
实际上是在画东西
我正在删除绘图中的镶嵌条,但我通常认为,当您保留标签并在这些图形之间保持一点距离时,您的图形可能会稍微不那么混乱
为了在刻面之间添加虚线,您可以简单地添加注释,例如使用annotate(geom='segment')
库(ggplot2)
ylim=c(-5,5)
xlim=c(3,12)
ybreaks=c(-2,2)
ggplot(data.frame(facet=字母[1:3])+
主题_bw()+
注释(geom='segment',x=-Inf,xend=Inf,y=-Inf,yend=-Inf,线型=3)+
连续缩放(极限=ylim,中断=ybreaks)+
比例x连续(极限=xlim)+
实验室(x=NULL,y=NULL)+
主题(面板网格主元素=元素线(“灰色78”,0.5,1),
panel.border=element\u blank(),
axis.text.x=元素_blank(),
axis.text.y=元素\文本(边距=单位(c(0,3,0,0),“mm”),
面板间距=单位(0,“线”),
strip.background=元素\空白(),
strip.text=element\u blank(),axis.line.y=element\u line(),
axis.line.x=元素线(),
轴刻度长度y=单位(-2,“mm”),
轴刻度长度x=单位(-2,“mm”),
曲线图。边距=单位(c(b=5,t=5,r=5,l=5),“mm”))+
镶嵌面(镶嵌面,nrow=3)
由(v0.3.0)于2020年2月22日创建