Qual a maneira mais prática de fazer e incluir um gráfico em pdfLaTeX

Qual a maneira mais prática de fazer e incluir um gráfico em pdfLaTeX

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 tikza opção de terminal. Aqui está o procedimento.

Primeiro, devemos criar um .texarquivo 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.texonde o gráfico é desenhado.

Então tudo o que precisamos fazer é incluir esse arquivo na fonte principal, digamos main.tex. Carregar gnuplot-lua-tikzo pacote é necessário.

\documentclass{article}
\usepackage{gnuplot-lua-tikz}
\begin{document}
\centering
\include{graph}
\end{document}

No entanto, a execução pdflatex main.texde 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: curva senoidal

Você pode, é claro, alterar os detalhes dos gráficos editando graph.tex.

UsandognuplottexO pacote pode ser uma boa escolha, embora eu nunca o tenha usado.

informação relacionada