oficial - Elegir el tipo de línea y color en Gnuplot 4.0
gnuplot online (7)
Tengo dos pares de conjuntos de datos, que necesito trazar usando Gnuplot.
Quiero que el primer par se trace en rojo, uno sólido y uno discontinuo. El segundo par, quiero trazar en azul, uno sólido y uno discontinuo.
He experimentado varias veces con la set style line
, pero no puedo obtener este comportamiento exacto. Mi último intento (adjunto) traza el primer par en rojo (sólido) y el segundo par en azul (punteado).
Cualquier ayuda será apreciada.
set style line 1 lt 1 lw 3 pt 3
set style line 2 lt 1 lw 3 pt 3
set style line 3 lt 3 lw 3 pt 3
set style line 4 lt 3 lw 3 pt 3
plot ''data1.dat'' using 1:3 w l ls 1,/
''data1.dat'' using 1:4 w l ls 2,/
''data2.dat'' using 1:3 w l ls 3,/
''data2.dat'' using 1:4 w l ls 4
Aquí está la sintaxis:
set terminal pdf {monochrome|color|colour}
{{no}enhanced}
{fname "<font>"} {fsize <fontsize>}
{font "<fontname>{,<fontsize>}"}
{linewidth <lw>} {rounded|butt}
{solid|dashed} {dl <dashlength>}}
{size <XX>{unit},<YY>{unit}}
y un ejemplo:
set terminal pdfcairo monochrome enhanced font "Times-New-Roman,12" dashed
Editar: Lo siento, esto no funcionará para ti. Acabo de recordar que el color de la línea está en 4.2. Me encontré con este problema en el pasado y mi solución fue actualizar gnuplot.
También puede controlar el color con la línea de estilo de conjunto. "lt 3" le dará una línea punteada, mientras que "lt 1" le dará una línea continua. Para agregar color, puede usar "lc rgb ''color''". Esto debería hacer lo que necesita:
set style line 1 lt 1 lw 3 pt 3 lc rgb "red"
set style line 2 lt 3 lw 3 pt 3 lc rgb "red"
set style line 3 lt 1 lw 3 pt 3 lc rgb "blue"
set style line 4 lt 3 lw 3 pt 3 lc rgb "blue"
Es posible que desee ver el paquete de trazado Pyxplot http://pyxplot.org.uk, que tiene una sintaxis muy similar a gnuplot, pero con los bordes ásperos limpios. Maneja los colores y los estilos de línea de forma bastante clara y homogénea entre los terminales x11 y eps / pdf.
La secuencia de comandos de Pyxplot para lo que quiere hacer arriba sería:
set style 1 lt 1 lw 3 color red
set style 2 lt 1 lw 3 color blue
set style 3 lt 2 lw 3 color red
set style 4 lt 2 lw 3 color blue
plot ''data1.dat'' using 1:3 w l style 1,/
''data1.dat'' using 1:4 w l style 2,/
''data2.dat'' using 1:3 w l style 3,/
''data2.dat'' using 1:4 w l style 4`
Me encontré con este tema, porque también estaba luchando con líneas discontinuas (gnuplot 4.6 patchlevel 0)
Si utiliza:
set termoption dashed
Su código publicado funcionará en consecuencia.
Pregunta relacionada:
Sin embargo, si quiero exportar un png con: set terminal png, esto ya no funciona. Alguien tiene una pista ¿por qué?
Resulta que, gnuplots png export library no es compatible con esto.
Posibles soluciones:
- uno puede simplemente exportar a ps, luego convertirlo con pstopng
- según @christoph, si usas
pngcairo
como tu terminal (set terminal pngcairo
) funcionará
Sé que la pregunta es antigua, pero me pareció muy útil http://www.gnuplot.info/demo_canvas/dashcolor.html . Así que puedes elegir el tipo de línea y el color de línea por separado, pero tienes que preceder todo por "set termoption dash" (funcionó para mí en gnuplot 4.4).
También puede establecer la opción ''guiones'' cuando configure su terminal, por ejemplo:
set term pdf dashed
Debe usar linecolor en lugar de lc, como:
set style line 1 lt 1 lw 3 pt 3 linecolor rgb "red"
"ayudar a establecer la línea de estilo" le da más información.