Muitas vezes chego a um ponto em que desejo que um gráfico de um conjunto de dados ou apenas uma função simples seja incluída em meu arquivo TeX. A abordagem ingênua usual seria salvar o gráfico como um gráfico vetorial ou pixel e apenas importá-lo com o pacote graphicx.
Mas isso tem uma desvantagem. Os rótulos dos eixos, por exemplo, costumam ser super ou subdimensionados.
Então, outra opção que tentei foi o gnuplot e a opção de terminal epslatex. Embora isso resolva o problema com o axeslabel escrevendo um arquivo gráfico vetorial e um arquivo tex, achei esse método muito impraticável quando eu queria alterar (um pequeno erro, por exemplo) no axeslabel.
Então eu queria saber qual é a maneira mais prática de criar e incluir um gráfico em um arquivo LaTeX tornando-o compatível com o tamanho e a fonte da saída do pdfLaTeX?
EDIT: A ênfase está na plotagem de pontos de dados de um arquivo (não na plotagem de uma função analítica, isso é apenas para mostrar algum comportamento limitante).
Responder1
Se você quiser usar gnuplot em vez de pacotes pgf por algum motivo, sugiro que você use tikz
a opção de terminal. Aqui está o procedimento.
Primeiro, devemos criar um .tex
arquivo que desenha o gráfico desejado. Deixe-me traçar uma curva senoidal nesta demonstração porque não tenho os dados de plotagem. No entanto, você também pode fazer tudo o que puder com o gnuplot, incluindo plot "foo.csv"
. No gnuplot, execute o seguinte:
set terminal tikz
set output "graph.tex"
set xlabel "set $x$ axis label as you like"
set ylabel "set $y$ axis label as you like"
# put extra settings you want to use here
plot sin(x)
exit
Chegamos graph.tex
onde o gráfico é desenhado.
Então tudo o que precisamos fazer é incluir esse arquivo na fonte principal, digamos main.tex
. Carregar gnuplot-lua-tikz
o pacote é necessário.
\documentclass{article}
\usepackage{gnuplot-lua-tikz}
\begin{document}
\centering
\include{graph}
\end{document}
No entanto, a execução pdflatex main.tex
de alguma forma gera um erro dizendo ! Undefined control sequence. l.7 \gpsetdashtype{gp dt solid}
Este erro ocorre no TeX Live 2015, não no meu ambiente anterior (ou seja, TeX Live 2013) e infelizmente não sei o motivo. De qualquer forma, excluindo esta linha 7, finalmente obtemos o seguinte:
Você pode, é claro, alterar os detalhes dos gráficos editando graph.tex
.
Usandognuplottex
O pacote pode ser uma boa escolha, embora eu nunca o tenha usado.