
Honestamente estoy perdido. Honestamente, intenté usar gnuplot y LaTeX juntos, pero nunca parece dar nada deseable. Tengo el 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
y el paquete mínimo
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\input{psi.tex}
\end{document}
y me sale algo que se parece
Lo cual está bastante bien. Pero las líneas son muy granuladas, también necesito que el eje x tenga la mitad del tamaño y "establecer tamaño 0.5,1" no parece funcionar. Desafortunadamente no puedo poner los archivos de texto que contienen los puntos de datos aquí, pero ¿habría una mejor (y fácilmente comprensible, la fecha límite para este proyecto es muy pronto) poder trazar un gráfico de contorno monocromático de puntos de datos en ¿LaTeX, como el de la imagen?
Respuesta1
La latex
opción de terminal parece escribir muchos puntos de la trama individuales en el psi.tex
archivo, sin tener en cuenta la conexión (matemática) entre ellos, o en resumen, el resultado no es un formato de gráfico vectorial. Esto da lugar a imágenes granuladas, especialmente si se escalan. Aumentar isosamples
proporcionará mejores archivos gráficos si se aplica junto con un mejor aumento samples
, pero esta no es una opción si se traza un archivo de datos en lugar de una función.
Mi 'solución' utiliza una función, ya que los archivos del script gnuplot no están disponibles para mí.
Sugeriría usar los terminales postscript
o 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
Aquí viene el 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}
Salida del terminal de látex de Gnuplot
Salida del terminal posdata de Gnuplot
Respuesta2
La epslatex
terminal esmuchomejor que el latex
anterior, y aún puedes mantener la coherencia con las fuentes del documento principal, que perderías al usar otros terminales como pdf
o postscript
. Sinceramente, no se me ocurre ninguna razón para utilizarlo latex
en lugar de epslatex
.
Por ejemplo, con 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
puedes obtener la siguiente imagen
Si desea establecer la relación entre los ejes, utilice la size ratio
opción. Por ejemplo, con
set size ratio 2
el eje y es el doble del eje x. Si desea que todo el tamaño "x" del gráfico se reduzca a la mitad, establezca el tamaño de toda la figura en terminal
las opciones y recuerde que el tamaño predeterminado es 5×3,5 pulgadas². Por ejemplo, el siguiente código establece el tamaño de la imagen en 2,5×3,5 pulgadas²
set terminal epslatex size 2.5,3.5