【问题标题】:Is there an equivalent to gnuplot's "epslatex" in R?R中是否有相当于gnuplot的“epslatex”?
【发布时间】:2015-05-19 16:25:13
【问题描述】:

我正在寻找可以生成 eps 图形和 tex 文件的 R 环境,就像 gnuplot 中的 epslatex 环境一样.

背景

以下代码显示了一个gnuplot 文件(我想知道是否可以用 R 文件替换该文件)。 gnuplot 的输出是两个文件:figure.texfigure.eps

set terminal epslatex color solid
set output "/path/to/report/figure.tex"

set xlabel "2$\\theta$"
set ylabel "Counts"
set xrange [20:60]
set yrange [300:14000]
# Plot col 1 against col 2, add vertical gap, e.g. (1000+($2))
plot 'file1.txt' using 1:2           title '<A-TITLE>' with lines, \
     'file2.txt' using 1:(1000+($2)) title '<B-TITLE>' with lines, \
     'file3.txt' using 1:(2000+($2)) title '<C-TITLE>' with lines, \
     'file4.txt' using 1:(3000+($2)) title '<D-TITLE>' with lines, \

注意gnuplot(下)的图形输出不包含任何文本。 通过排版 LaTeX 文章/书籍/等来添加文本。其中包含文件 figure.tex 文件(不支持堆栈溢出)。

问题: R 可以为我做同样的事情吗?

其他语言的替代方法也值得赞赏。但是,字体和数学符号的一致排版(我有自己的 LaTeX 宏)是绝对必须的!

【问题讨论】:

  • 您可以使用 knitr 或 Sweave 生成​​带有嵌入式 R 代码的 TeX 文件。
  • 另外我可以推荐 gnuplot ;) 说真的,你有什么特别的理由不再使用 gnuplot 了吗?
  • 我自己,绝对没有,事实上我认为 gnuplot 很棒!但是,使用 gnuplot 很难“鼓舞群众”。另一方面,R 具有出色的图形功能,并且更加“即插即用”。与 python 尤其是 matlab 相比有了巨大的改进。

标签: r latex gnuplot figure


【解决方案1】:

如上面评论中所述,您可以使用Sweave 轻松生成.tex 文件。最简单的方法是使用支持 Sweave 和 MFR (Markdown For R) 的 RStudio IDE

Sweave 允许您在 .tex 文件中嵌入 R 代码块;运行 R 代码以产生输出,然后将文件从 .tex 编译(不确定这是否完全正确)为您想要的任何格式。

如果您希望输出图像是与输出.tex 分开的文件,您可以在 Sweave 中轻松做到这一点,并且这些文件通常位于单独的目录中。为此,您需要检查块选项。

编辑添加:正如Alex A. 所指出的,knitr 包的开发是为了解决 Sweave 的一些奇怪问题,并且紧密集成到 RStudio 中,也可以解决您想要的一些问题。

【讨论】:

  • 请注意,knitr 也在 RStudio 中得到支持,并且是为了解决 Sweave 的一些缺点和语法怪异而开发的。
  • 谢谢你的回答,我会看看这个答案:)
猜你喜欢
  • 2021-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2020-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多