我通常使用scale_y_continuous
(或scale_x_continuous
)更改了ggplot2中连续变量的缩放中断。我通常还使用coord_cartesian(xlim=)
(或y轴的ylim=
)来设置轴限制。所有这一切工作得很好像以下:在ggplot2中手动添加中断到x和y轴
#Some example data
set.seed(100)
b<-sample(1:10, 10)
a<-sample(1:10, 10)
df<-data.frame(a,b)
#Graph without scales set (just default)
library(ggplot2)
ggplot(data=df, aes(a,b))+
theme_bw() + theme(panel.border = element_rect(colour = "black", fill=NA, size=1),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
geom_text(aes(label=rownames(df)), color="black")
产生默认尺度以下情节:
如果我想调整x轴,比方说,1-
ggplot(data=df, aes(a,b))+
theme_bw() + theme(panel.border = element_rect(colour = "black", fill=NA, size=1),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
geom_text(aes(label=rownames(df)), color="black")+
scale_x_continuous(breaks = c(1,3,5,7,9,11,13))+
coord_cartesian(xlim=c(0, 13))
:13我会做以下(即13刻度从1开始,并在结束13分)
...和y轴...
ggplot(data=df, aes(a,b))+
theme_bw() + theme(panel.border = element_rect(colour = "black", fill=NA, size=1),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
geom_text(aes(label=rownames(df)), color="black")+
scale_y_continuous(breaks = c(1,3,5,7,9,11,13))+
coord_cartesian(ylim=c(0, 13))
然而,当我试图在同一时间内完成两轴非常相同规模的调整,输出不不会产生我所期望的(x轴和y轴都是1-13)。
ggplot(data=df, aes(a,b))+
theme_bw() + theme(panel.border = element_rect(colour = "black", fill=NA, size=1),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"))+
geom_text(aes(label=rownames(df)), color="black")+
scale_y_continuous(breaks = c(1,3,5,7,9,11,13))+
coord_cartesian(ylim=c(0, 13))+
scale_x_continuous(breaks = c(1,3,5,7,9,11,13))+
coord_cartesian(xlim=c(0, 13))
正如你所看到的,在X和Y轴都没有,即使完全相同的代码已经被传递到两个轴相等。我不明白为什么。任何帮助深表感谢。
不知道,但我忘了添加的代码(我的坏)一行,就在数据帧收集''a''和''b'':''DF <-data.frame(一,b)''我已经修复了上面的例子 –