Tengo un valor asociado a cada día, como tal:
120530 70.1
120531 69.0
120601 69.2
120602 69.5
# and so on for 200 lines
Al trazar estos datos en gnuplot con líneas, los puntos de datos están muy bien conectados. Desafortunadamente, en lugares de más de una semana pueden faltar puntos de datos. Gnuplot dibuja largas líneas sobre estos intervalos. ¿Cómo puedo hacer que gnuplot solo conecte puntos en días consecutivos?
Las soluciones que requieren el preprocesamiento de los datos están bien, ya que lo suavizo con un script.
Esto es lo que uso:
set xdata time
set timefmt "%y%m%d"
plot "vikt_ma.txt" using 1:2 with lines title "first line", \\
"" using 1:3 with lines title "second line"
Ejemplo:
Respuestas:
Ponga un registro vacío (línea en blanco) donde no hay datos. De los documentos :
fuente
Puede usar cualquier cadena que no sea un número como valor para los puntos de datos faltantes o especificar explícitamente una cadena de datos faltante usando el
set datafile missing
comando.Si luego traza las líneas usando
entonces Gnuplot dejará un hueco.
fuente
También puede hacer algo como esto para crear huecos automáticamente cuando la distancia entre los valores de x excede algún umbral:
Deberá ajustar los valores iniciales de "anterior" y "actual", y el umbral ("7200" en el ejemplo anterior).
La función "yornothing" utiliza la función "shift" para almacenar un valor anterior de x. Cada vez que se llama yornothing, devuelve el valor de y "0/0", dependiendo de si el valor absoluto de la diferencia entre x y su valor anterior excede el umbral.
Un valor de 0/0 le dice a gnuplot que ignore ese punto.
fuente