[PYTHON] Mémo qui a fait un graphique pour animer avec intrigue

Mémo qui a fait un graphique à animer avec Plotly

Aperçu

Code source

import pandas as pd
import numpy as np
import plotly.express as px

def create_animation_graph(input_array: np.array, start: str = '1900-01-01 0:00', g_type: str = 'line', y_label: str = 'value',
                           x_label: str = 'time') -> object:
    """
    np.La saisie d'un tableau renvoie un graphique animé par tracé
    :param input_array:Données np.array
    :param start:Heure de début
    :param g_type:Type de graphique'line','bar','area','scatter'
    :param y_label:nom de l'axe y
    :param x_label:nom de l'axe des x
    :return:
    """
    df = pd.DataFrame()
    times = pd.date_range(start=start, periods=len(input_array), freq='T').strftime('%H:%M')

    #Créer un bloc de données pour l'animation
    for idx, time in enumerate(list(times)):
        add_df = pd.DataFrame({x_label: [time for time in times [0:idx]],
                               y_label: input_array [0:idx],
                               'tick': idx})
        df = pd.concat([df, add_df])

    range_x_max = len(input_array) - 2
    
    # plotly.Dessiner avec express
    if g_type == 'scatter':
        fig = px.scatter(df, 
                         x=x_label, 
                         y=y_label,
                         animation_frame="tick",
                         range_y=[0, input_array.max()],
                         range_x=[0, range_x_max])
    elif g_type == 'line':
        fig = px.line(df, 
                      x=x_label, 
                      y=y_label, 
                      animation_frame="tick", 
                      range_y=[0, input_array.max()],
                      range_x=[0, range_x_max])
    elif g_type == 'bar':
        fig = px.bar(df, 
                     x=x_label, 
                     y=y_label, 
                     animation_frame="tick", 
                     range_y=[0, input_array.max()],
                     range_x=[0, range_x_max])
    elif g_type == 'area':
        fig = px.area(df, 
                      x=x_label, 
                      y=y_label, 
                      animation_frame="tick", 
                      range_y=[0, input_array.max()],
                      range_x=[0, range_x_max])
    else:
        raise KeyError('g_le type est différent')

    return fig

Courir

input_array = np.array([_*np.random.rand() for _ in  np.arange(0,30)*2])
create_animation_graph(input_array,g_type='area',start='00:00',x_label='Heures du jour',y_label='Énergie électrique')

animation.gif

Recommended Posts

Mémo qui a fait un graphique pour animer avec intrigue
Faire un joli graphique avec plotly
[Python] Créez un graphique qui peut être déplacé avec Plotly
J'ai fait un graphique de nombres aléatoires avec Numpy
Un mémo que j'ai touché au magasin de données avec python
Dessinez un graphique avec NetworkX
tracé Créer un graphique avec un bouton
Dessinez un graphique avec networkx
Une histoire qui a trébuché lorsque j'ai créé un bot de chat avec Transformer
J'ai fait une minuterie pomodoro dure qui fonctionne avec CUI
[Visualisation] Je veux dessiner un beau graphique avec Plotly
J'ai créé un plug-in qui peut faire "Daruma-san tombé" avec Minecraft
Tracez un graphe avec Julia + PyQtGraph (2)
Dessinez un graphique lâche avec matplotlib
J'ai fait une loterie avec Python.
Tracez un graphique avec Julia + PyQtGraph (1)
Dessinez un graphique avec Julia + PyQtGraph (3)
Dessinez un graphique avec des pandas + XlsxWriter
Faisons un graphe avec python! !!
Dessinez un graphique avec l'interface graphique PySimple
J'ai créé un démon avec Python
J'ai fait un package qui peut comparer des analyseurs morphologiques avec Python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai fait un shuffle qui peut être réinitialisé (inversé) avec Python
Créez un graphique des devises qui peut être déplacé avec Plotly (2)
Créez un graphique des devises qui peut être déplacé avec Plotly (1)
J'ai fait un programme qui calcule automatiquement le zodiaque avec tkinter
Lecteur RSS simple réalisé avec Django
[PyQt] Afficher des graphiques multi-axes avec QtChart
J'ai fait un compteur de caractères avec Python
Créez une application Web qui peut être facilement visualisée avec Plotly Dash
J'ai créé un plug-in "EZPrinter" qui génère facilement des PDF cartographiques avec QGIS.
Notez que l'environnement Python de Pineapple peut être modifié avec pyenv
Un mémo contenant Python2.7 et Python3 dans CentOS
Comment dessiner un graphique à barres qui résume plusieurs séries avec matplotlib
J'ai créé une extension Chrome qui affiche un graphique sur la page Amedas
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu de vie avec Numpy
Un monde typé qui commence par Python
J'ai créé un outil qui facilite un peu la décompression avec CLI (Python3)
J'ai fait un générateur Hanko avec GAN
Un mémo rempli de construction d'environnement RADEX
J'ai fait un jeu rogue-like avec Python
Dessinez un graphique avec PyQtGraph Part 1-Drawing
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait une application WEB avec Django
J'ai fait un simulateur de neurones avec Python
Créer un graphique avec des bordures supprimées avec matplotlib
J'ai fait un module PyNanaco qui peut charger des crédits nanaco avec python
Notes pour créer des figures pouvant être publiées dans des revues avec matplotlib
Une histoire à laquelle j'étais accro après la communication SFTP avec python
J'ai fait un robot de remplacement de tampon avec une ligne
Dessinez une surface plane avec un graphique 3D matplotlib
J'ai fait une prévision météo de type bot avec Python.
Dessinez un graphique avec des étiquettes japonaises dans Jupyter
Un mémo que j'ai écrit un tri rapide en Python