
Sinceramente, estou perdido. Sinceramente, tentei usar o gnuplot e o LaTeX juntos, mas nunca pareceu dar nada desejável. Eu tenho o código gnuplot;
reset
set lmargin at screen 0.2;
set rmargin at screen 0.977;
set tmargin at screen 0.96;
set bmargin at screen 0.13;
# Define colour range to be consistent amongst plots
set cbrange [lowcol:highcol];
set terminal latex
set out 'psi.tex'
set termoption dash
#set title istitle;
set xlabel '$x/a$';
set ylabel '$y/a$' offset 1.7;
set contour;
set view map;
unset surface;
set cntrparam levels 8;
set isosamples 50;
unset key
unset colorbox
splot 'loop_bottom.txt' w l notitle,'loop_top.txt' w l notitle
e o pacote mínimo
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\input{psi.tex}
\end{document}
e eu recebo algo que parece
O que está tudo bem. Mas as linhas são muito granuladas, também preciso do eixo x com metade do tamanho e "definir tamanho 0,5,1" não parece estar funcionando. Infelizmente não posso colocar os arquivos de texto que contêm os pontos de dados aqui, mas haveria uma solução melhor (e facilmente compreensível, o prazo para este projeto é muito em breve) para poder traçar um gráfico de contorno monocromático de pontos de dados em LaTeX, como o da foto?
Responder1
A latex
opção do terminal parece escrever muitos pontos individuais da plotagem no psi.tex
arquivo, desconsiderando a conexão (matemática) entre eles, ou mais curto, o resultado não é um formato gráfico vetorial. Isso leva a imagens granuladas, especialmente se forem dimensionadas. Aumentar o isosamples
irá fornecer melhores arquivos gráficos se aplicado em conjunto com um melhor aumento samples
, mas isso não é uma opção se um arquivo de dados for plotado em vez de uma função.
Minha 'solução' usa uma função, pois os arquivos do script gnuplot não estão disponíveis para mim.
Eu sugeriria usar os terminais postscript
ou pdf
.
reset
set lmargin at screen 0.2;
set rmargin at screen 0.977;
set tmargin at screen 0.96;
set bmargin at screen 0.13;
# Define colour range to be consistent amongst plots
# set cbrange [lowcol:highcol];
#set title istitle;
set xlabel '$x/a$';
set ylabel '$y/a$' offset 1.7;
set contour;
set view map;
unset surface;
set cntrparam levels 8;
set isosamples 200;
unset key
unset colorbox
splot sin(x*y)
# Commented out since data file `loop_*.txt' not available
#splot 'loop_bottom.txt' w l notitle,'loop_top.txt' w l notitle
set terminal push
set terminal latex
set out 'psi.tex'
set termoption dash
replot
set out
set terminal postscript enhanced colour
set output 'psi.eps'
replot
set out
set terminal pdf colour
set output 'psi.pdf'
replot
set out
set terminal pop
Aí vem o LaTeX
código
\documentclass{article}
\usepackage{graphicx}
% Perhaps necessary, depending on plot symbols
\usepackage{latexsym}
\begin{document}
\input{psi}
\includegraphics[scale=0.5,angle=-90]{psi.eps}
\includegraphics{psi.pdf}
\end{document}
Saída do terminal de látex Gnuplot
Saída do terminal postscript do Gnuplot
Responder2
O epslatex
terminal émuitomelhor que esse latex
, e você ainda pode manter a consistência com as fontes do documento principal, que você perderia ao usar outros terminais como pdf
ou postscript
. Sinceramente, não consigo pensar em nenhum motivo para usar latex
em vez de epslatex
.
Por exemplo, com este código
reset
set terminal epslatex
set output 'foo.tex'
set xlabel '$x/a$'
set ylabel '$y/a$' offset -1,0
set contour
set view map
unset surface
set cntrparam levels 31
set isosamples 200
unset key
unset colorbox
splot x**2-y**2
set output
você pode obter a seguinte imagem
Se quiser definir a relação entre os eixos, use a size ratio
opção. Por exemplo, com
set size ratio 2
o eixo y é o dobro do eixo x. Caso queira que todo o tamanho “x” do gráfico seja dividido pela metade, defina o tamanho da figura inteira nas terminal
opções lembrando que o tamanho padrão é 5×3,5 polegadas². Por exemplo, o código a seguir define o tamanho da imagem como 2,5×3,5 polegadas²
set terminal epslatex size 2.5,3.5