在ggplot
我有一个图表,其x轴标签延伸到RStudio中的绘图窗口之外,即使我尝试导出图片,无论我拍摄的图片有多宽。以下是limits
中使用scale_x_continuous
的当前解决方案。是否有可能延长图片以便我可以捕获我的最后一个x轴标签(即25021643),但没有延长线段?
上面重现的代码:
library(ggplot2)
p <-
ggplot(NULL) +
xlab("x-axis") +
theme_bw() +
scale_x_continuous(breaks = as.integer(seq(0,25021643,(25021643/4))), limits=c(0,26021643),labels = as.integer(seq(0,25021643,(25021643/4))), expand = c(0,0)) +
scale_y_continuous(limits = c(-1, (nrow(chr5)+1)), expand = c(0,0)) +
geom_hline(yintercept = -1) +
geom_segment(aes(x = 0, y = -1, xend = 0, yend = -0.9)) +
geom_segment(aes(x = 25021643, y = -1, xend = 25021643, yend = -0.9)) +
theme(panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
panel.border=element_blank(),
axis.ticks.y = element_blank(),
axis.title.y = element_blank(),
axis.text.y = element_blank(),
axis.ticks.x = element_line(size=1),
axis.title.x = element_text(size=20),
axis.text.x = element_text(size=20))
p
答案 0 :(得分:3)
添加plot.margin=unit(c(0,20,0,0),"mm")
似乎可以胜任。
答案 1 :(得分:0)
您也可以使用:
plot.margin = margin(r = 20, unit = "mm")
这是做同样事情的另一种方式,但避免写出图所有边的值:'t' 是顶部,'r' 是右边,'l' 是左边,'b' 是底部。你可以写所有或任何你想用逗号分隔的边:
plot.margin = margin(r = 20, l = 30, b = 15, t = 40, unit = "mm")
或者,如果您希望使用标准单位 ('pt'):
plot.margin = margin(r = 20)