Esta es una biblioteca de Python creada usando PyGame que administra la creación de gráficos que se actualizan que muestran dinámicamente los cambios de X e Y con el tiempo.
Este paquete se agregará a PIP, por lo que un simple "PIP Instale Dynamic_Graphs_with_PyGame" sería suficiente. De lo contrario, clone el repositorio de GitHub.
En este momento, los gráficos compatibles que se pueden hacer son: histogramas, line_graphs y gráficos de dispersión. ¡Puede usar la lógica de la biblioteca para agregar su propio tipo de gráficos también! Es bastante fácil ver cómo se hicieron las funciones existentes y hacer algo similar. ¡Atención! Pygame tiene limitaciones con la visualización de objetos muy pequeños, tome nota de eso y mire cómo se maneja el caso del ancho del contenedor de histograma <1.
Asegúrese de aprovechar la capacidad de esta biblioteca para dibujar objetos en Pygame que tienen alfa (transparencia). De esta manera, puede mostrar diferentes gráficos uno encima del otro.
Eche un vistazo al ejemplo_usage.py también.
Tenga en cuenta que todas las funciones existen dentro de una clase llamada DynamicPyGameGraphs. Esencialmente, primero debe hacer una instancia de esta clase con detalles como las posiciones de los ejes y la pantalla Pygame en la que desea mostrarla. (Se permite que sus valores x sean más grandes que el tamaño del eje gráfico_x)
Ejemplo: pygame_graphs_instance = DynamicPyGameGraphs (x, y, pantalla)
Luego puede usar esta instancia para dibujar un gráfico de su elección en la pantalla.
Ejemplo: pygame_graphs_instance.dynamic_histogram (x_values = np.array ([1, 0, 2, 0, 0, 1]), bin_size = 1, bar_color = (255, 0, 0, 123), gráfico = 500, gráfico = 500, 500, gráfico_axis = '', Graph_ye x_tick_marks = 5, y_tick_marks = 5, y_amplifier = 1, graph_tick_marks_font = none, graph_tick_marks_text_color = (0, 0, 0), graph_tick_marks_text_space_from_x_xis = 10, graph_tick_text_tex Move_zero_along_x_axis = 0, Zero_tick_mark_text_color = (0, 0, 0), bin_array_is_given_as_x_values = true, have_extra_bin = true)
Por supuesto, no necesita llenar todas esas variables, todas tienen valores previos. En cuanto a lo que significan exactamente todos ellos, se refieren a los comentarios en el código real.
El desplazamiento se logra mediante las flechas del teclado de forma predeterminada. Puede cambiar eso, mire la función de desplazamiento.
Atención: para el histograma, si desea que algunos de sus contenedores se muestren como negativos a lo largo del parámetro X_AXIS, aproveche el parámetro Move_Zero_Along_X_axis para establecer qué contenía corresponde a la posición cero.
Atención: si sus matrices están cada vez más grandes, los gráficos dinámicos pueden comenzar a retrasarse después de un tiempo. Una solución sería eliminar algunos elementos de las matrices si sus longitudes pasan un umbral específico.
Python 3.12.2 Pygame 2.5.2 Numpy 1.26.4