我正在使用tikzDevice
包来获取R
中的Latex友好图表。我无法从下图的顶部和底部删除多余的空格:
我尝试使用par(mar)
,但它似乎不适用于ggplot2
。此外,theme(plot.margins)
似乎也没有反应。当我尝试用theme(aspect.ratio)
改变图形的纵横比时引入空白区域。
有什么建议?
谢谢!
编辑:这是一个MWE:
library(tikzDevice)
library(reshape2)
x = seq(0,1,0.1)
y1 = x^2+2*x+7
y2= x^+2*x+2
df = data.frame(x,y1,y2)
df <- melt(df, id.vars=c("x"))
names(df) <- c("x","$latex~Name$","value")
plot <- ggplot(df,aes(x=x,y=value,color=`$latex~Name$`,group=`$latex~Name$`)) + geom_line() +
theme(aspect.ratio = 0.4)
plot
tikzDevice(file="mweTex.tex")
plot
dev.off()
答案 0 :(得分:2)
问题似乎是由一些影响图像边界框的tikz语句引起的。因为在tikzDevice中似乎没有任何选项来最小化空格,所以我不得不考虑别的东西。我设法通过在MWE末尾添加以下R代码来修复生成的tikz文件:
# remove all lines that invisibly mess up the bounding box
lines <- readLines(con="mweTex.tex")
lines <- lines[-which(grepl("\\path\\[clip\\]*", lines,perl=F))]
lines <- lines[-which(grepl("\\path\\[use as bounding box*", lines,perl=F))]
writeLines(lines,con="mweTex.tex")
我已经在你的MWE上测试了它: