Esta é uma biblioteca Python criada usando o Pygame que gerencia a criação de gráficos que atualizam dinamicamente as alterações de X e Y ao longo do tempo.
Este pacote será adicionado ao PIP para que um simples "PIP instale dinâmico_graphs_with_pygame" seria suficiente. Caso contrário, clone o repositório do GitHub.
No momento, os gráficos suportados que podem ser feitos são: histogramas, line_graphs e gráficos de dispersão. Você pode usar a lógica da biblioteca para adicionar seu próprio tipo de gráfico também! É bastante fácil ver como as funções existentes foram feitas e fazer algo semelhante. Atenção! O Pygame possui limitações com a exibição de objetos muito pequenos, observe isso e observe como o caso da largura da banda do histograma <1 é tratado.
Certifique -se de aproveitar a capacidade dessa biblioteca de desenhar objetos no Pygame que possuem alfa (transparência). Dessa forma, você pode exibir gráficos diferentes um sobre o outro.
Dê uma olhada no exemplo_usage.py também.
Observe que todas as funções existem dentro de uma classe chamada DynamicpyGameGraphs. Essencialmente, você precisa primeiro criar uma instância desta classe com detalhes como as posições dos eixos e a tela do pygame em que deseja exibi -la. (Seus valores X podem ser maiores que o tamanho do eixo graf_x)
Exemplo: pygame_graphs_instance = dynamicpygameGraphs (x, y, tela)
Depois, você pode usar esta instância para desenhar um gráfico da sua escolha na tela.
Exemplo: pygame_graphs_instance.dynamic_histogram (x_values = np.array ([1, 0, 2, 3, 0, 1]), bin_size = 1, bar_color = (255, 0, 0, 123), graph_x = 500, graf_y___x_x_xxis, 0, 0, 123), graph_x = 500, graf_y___x_xex, graph_xis, (255, 0, 0, 123). X_TICK_MARKS = 5, Y_TICK_MARKS = 5, Y_AMPLIFIER = 1, Graph_Tick_Marks_Font = Nenhum, Graph_Tick_Marks_Text_Color = (0, 0, 0), Graph_Tick_Marks_Text_From_X_Axis = 10), Graph_Tick_Marks_Text_From_Ax_Axis = 10), Graph_Tick_Tick_Marks_Text_FROM_COM_X_AXIS = 10), GRAPH_TICK_TICK_MARKS_TEXT) move_zero_along_x_axis = 0, zero_tick_mark_text_color = (0, 0, 0), bin_array_is_given_as_x_values = true, tem_extra_bin = true)
Obviamente, você não precisa preencher todas essas variáveis, todas elas têm valores pré-orientados. Quanto ao que exatamente todos eles significam, consulte os comentários no código real.
A rolagem é alcançada pelas setas do teclado por padrão. Você pode alterar isso, observe a função de rolagem.
ATENÇÃO: Para o histograma, se você deseja que algumas das suas caixas sejam exibidas como negativas ao longo do parâmetro x_axis aproveitar o MOVE_ZERO_ALONG_X_AXIS para definir qual compartimento corresponde à posição zero.
ATENÇÃO: Se suas matrizes estiverem cada vez maiores, os gráficos dinâmicos podem começar a ficar atrasados depois de um tempo. Uma solução seria talvez excluir alguns elementos das matrizes se seus comprimentos passarem um limite específico.
Python 3.12.2 Pygame 2.5.2 Numpy 1.26.4