Как я могу включить сложные графики R в документ LaTeX?

У меня проблема со следующим фрагментом кода:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\includegraphics{myscatterplot.pdf}
\end{document}

Где myscatterplot.pdf генерируется следующим кодом в R:

library(scatterplot3d)
pdf("myscatterplot.pdf")
scatterplot3d(rnorm(100), rnorm(100), 1:100, highlight.3d = TRUE)
dev.off()

Проблема в том, что получившийся документ LaTeX при компиляции с помощью texworks (pdfLatex + makeindex + bibtex) имеет оси графика, но ни одну из точек на графике или метках осей (в данном случае это просто сами трехмерные оси). R или LaTeX не выводят сообщения об ошибках или предупреждениях. Я использую:

  • R 2.12.1 в Windows 7,
  • MiKTeX 2.8,
  • TeXworks
  • Adobe Reader 9 (не уверен, что это и \ includegraphics берет только первую фигуру (оси) из файла pdf. В данном случае я все еще не уверен, как это обойти.

    Я действительно был бы признателен за обходной путь, так как в конечном итоге я хотел бы сделать все это с помощью Sweave, и это вызывает у меня горечь по поводу прекрасного результата пакет!

    Заранее благодарим вас за ответы.

    Редактировать 1:

    Итак, первая рекомендация заключалась в использовании формата EPS вместо pdf. Это дало некоторые результаты, но не то, что я хотел. Я выполнил следующее:

    \documentclass{article}
    \usepackage{graphicx,epstopdf}
    \begin{document}
    \begin{figure}
    \includegraphics[angle = 270, width= 6in, keepaspectratio=true]{change.eps}
    \end{figure}
    \end{document}
    

    Я сгенерировал "change.eps" с помощью

    postscript("change.eps")
    scatterplot3d(rnorm(100), rnorm(100), 1:100, highlight.3d = TRUE)
    dev.off()
    

    Это действительно дало улучшение (несмотря на то, что, как ни странно, он повернул график на 90 градусов по часовой стрелке в выводе латекса. !), и теперь у меня есть оси и точки из диаграммы рассеяния на моем латексном выходе! Однако, метки осей все еще не отображаются на рисунке, хотя я открыл "change.eps" с помощью ghostview, и оси находятся на графике! Кажется, что способ вывода цифр scatterplot3d не согласуется с тем, как \ includegraphics ищет фигуры ...

    Итак, я все еще ищу решение, которое будет включать метки осей.

12
задан Rguy 24 January 2011 в 04:16
поделиться