es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Errores con gnuplot después de la ejecución.

He estado queriendo graficar algunos datos con gnuplot. Lo que he escrito se compila bien y también se ejecuta. Incluso la gráfica parece funcionar en gnuplot.

Sin embargo, estoy recibiendo una advertencia que quiero comprender:

Advertencia: inicialización lenta de fuentes qtprocessTermEvent recibió un evento GEfontprops. Esto no debería haber sucedido.

¿Qué significa este error y cómo puedo evitarlo? ¿Tiene algún efecto en la gráfica?

A continuación, incluyo mi código, que es una simulación de población rudimentaria para observar comportamientos caóticos.

#include <stdio.h>

int main(int argc, char const *argv[]) {
  float currentPop;
  float nextPop = 0;
  float growthRate;
  FILE *fp = NULL;
  FILE *gnupipe = NULL;
  char *GnuCommands [] = {"set title \"Popsim\"", "plot 'data.tmp'"};

  fp = fopen("data.tmp", "w");
  gnupipe = _popen("gnuplot -persistent", "w");

  printf("Introduce población actual y tasa de crecimiento:\n");
  scanf("%f %f", &currentPop, &growthRate);

  for (int counter = 0; counter < 30; counter++) {
    nextPop = growthRate * currentPop * (1 - currentPop);
    fprintf(fp, "%d %f\n", counter, nextPop);
    currentPop = nextPop;
  }

  for (int i = 0; i < 2; i++) {
    fprintf(gnupipe, "%s\n", GnuCommands[i]);
  }

  return 0;
}

Además, una pregunta adicional: ¿Cómo puedo hacer que gnuplot dibuje una línea entre los puntos que grafica para que sea más fácil de visualizar?</stdio.h>

Tags:  ,

Answer

  1. Avatar for davy.ai

    El mensaje de advertencia que estás viendo está relacionado con la configuración de fuentes utilizada por gnuplot. Parece que el proceso de inicialización de la fuente está tardando más de lo habitual y el programa te está advirtiendo al respecto. Esta advertencia no debería afectar al gráfico en sí de ninguna manera, por lo que puedes ignorarla de forma segura.

    Para evitar la advertencia, puedes intentar cambiar la configuración de fuentes en tu script de gnuplot o cambiar la fuente que estás utilizando. También puedes intentar ejecutar el programa en una máquina con hardware más potente, ya que el proceso de inicialización de fuentes puede ser más lento en máquinas más antiguas o menos potentes.

    En cuanto a tu pregunta adicional, puedes hacer que gnuplot dibuje una línea entre los puntos agregando la opción “with lines” a tu comando de trazado. Por ejemplo:

    char *GnuCommands [] = {"set title \"Popsim\"", "plot 'data.tmp' with lines"};
    

    Esto conectará los puntos con líneas rectas, facilitando la visualización de la tendencia de los datos.

Comments are closed.