varias graficas comandos plot gnuplot

graficas - Trazar de dos archivos con barras de error para Gnuplot



gnuplot histogram (2)

Estoy pensando en qué manera hacer mejor la adición de las barras de error pensando en el formato de los datos. La forma estándar de agregar barras de errores se trata aquí , por ejemplo.

Mi información original está en rangos

Model Decreasing Constant Increasing 2025 73-78 80-85 87-92 2035 63-68 80-85 97-107 2050 42-57 75-90 104.5-119.5

donde los valores son rangos. No puedo trazar directamente en Gnuplot, así que tengo que dividirlo en promedios y valores de error en dos archivos:

Promedios:

Model Decreasing Constant Increasing 2025 75.5 82.5 89.5 2035 65.5 82.5 102 2050 49.5 82.5 112

y configuración de error en ybar

Model Decreasing Constant Increasing 2025 2.5 2.5 2.5 2035 2.5 2.5 5 2050 7.5 7.5 7.5

Normalmente trazado datos como este como un archivo

plot for [i=2:4] ''data.dat'' using 1:i w linespoints

pero ahora debería ir a través de dos archivos al mismo tiempo mientras hacía la trama. La sintaxis normal de trazar las barras de error es

plot ''data'' using 1:2:0:($1+$3):4:5 with yerrorlines

y manual aquí .

¿Cómo se puede trazar desde dos archivos con barras de error en Gnuplot? Siéntase libre de proponer si conoce una mejor manera de hacer la adición de estas barras de error en gnuplot.

Salida a la respuesta de Cristoph

donde faltan barras de error en el primer y tercer punto.


En primer lugar, me pregunto acerca de sus columnas utilizadas para trazar with yerrorlines . Si sus primeros datos para 2025 son 75.5 +/- 2.5, generalmente lo traza con

plot "datafile" using <xcolum>:<ycolum>:<yerrorcolumn>

Sus seis columnas son para el caso de las barras de error xy y especifican el punto en sí y los valores absolutos inferior y superior en x e y. Pero puede ser que lo estás haciendo como lo necesitas ...

Ahora volvamos a su pregunta: Gnuplot no puede manejar datos de dos archivos simultáneamente, es decir, no puede tomar valores xy de un archivo y errores y de otro.

Si está ejecutando Linux, la join herramienta de línea de comandos puede ayudar. Sus promedios almacenados en el archivo A y los errores en el archivo B, join AB concatenará líneas con el mismo valor en la primera columna como esta:

2025 75.5 82.5 89.5 2.5 2.5 2.5

Asi que,

plot "<join A B" using 1:2:5 with yerrorlines

debería hacer el trabajo. ( "<join AB" llamará al comando join en el fondo y leerá su salida como un archivo de datos)


Gnuplot 5 admite que especifique varios caracteres como separadores de archivos de datos.

Por lo tanto, si está seguro de que nunca obtendrá valores negativos (que hopen dado el formato de sus datos), entonces puede usar su archivo de datos original y establecer el espacio en blanco y el guión como separador de archivos de datos:

set datafile separator " -" plot for [i=2:6:2] "data" using 1:(0.5*(column(i)+column(i+1))):(0.5*(column(i+1)-column(i))) with yerrorlines