2012-10-05 17 views
7

¿Cómo puedo trazar (una trama 3D) una matriz en Gnuplot que tenga dicha estructura de datos, usando la primera fila y la columna como tics ax y y (el primer número de la primera fila es el numero de columnas)?gnuplot: trama 3D de una matriz de datos

4 0.5 0.6 0.7 0.8 
1 -6.20 -6.35 -6.59 -6.02 
2 -6.39 -6.52 -6.31 -6.00 
3 -6.36 -6.48 -6.15 -5.90 
4 -5.79 -5.91 -5.87 -5.46 

Respuesta

5

Exactamente este formato de datos se puede leer en la matrix nonuniform:

set view 50,20 
set ticslevel 0 
splot 'data.txt' matrix nonuniform with lines t '' 

Esto genera el tics correctos, como se especifica en el archivo de datos:

enter image description here

1

Para representar gráficamente una parcela 4D, utilizando el color como la cuarta dimensión, puede utilizar

splot '1.txt' using 2:3:4:5 every ::1 palette 
# |        | 
# |        | 
# used for 3d plots   skip the header line 

o quieres que haga un dibujo diferente, con X e Y siendo la primera columna y la línea , y los números en la matriz simplemente reprimiendo z? A continuación, utilice la siguiente:

splot '1.txt' every ::1:1 matrix 

añadir algunos efectos, se puede cambiar a

set dgrid3d 4,4 
splot '1.txt' every ::1:1 matrix with lines 
+0

¡Muchas gracias! La última solución "establecer dgrid3d 4,4; splot '1.txt' cada :: 1: 1 matriz con líneas" es bueno para mí. Solo me gustaría usar x ticks "0.5 0.6 0.7 0.8" y y ticks "1 2 3 4" en la base del gráfico. ¿Es posible? – micheletuttafesta

+0

@micheletuttafesta: Puede usar 'set xtics (0.5, 0.6, 0.7, 0.8)'. AFAIK, gnuplot no tiene menas para obtener los números del archivo de entrada, por lo que debe generar el script gnuplot: 'head -n1 input.txt | sed 's//,/g; s/^/set xtics (/; s/$ /) /'> script.gp'. – choroba

+0

Gracias choroba! Su sugerencia es mi solución final – micheletuttafesta

Cuestiones relacionadas