[PYTHON] Memo, mit dem ein Diagramm zum Plotten animiert wurde

Ein Memo, das mit Plotly ein animiertes Diagramm erstellt hat

Überblick

Quellcode

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.Wenn Sie ein Array eingeben, wird ein grafisch animiertes Diagramm zurückgegeben
    :param input_array:Daten np.array
    :param start:Startzeit
    :param g_type:Diagrammtyp'line','bar','area','scatter'
    :param y_label:Name der y-Achse
    :param x_label:Name der x-Achse
    :return:
    """
    df = pd.DataFrame()
    times = pd.date_range(start=start, periods=len(input_array), freq='T').strftime('%H:%M')

    #Erstellen Sie einen Datenrahmen für die 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.Zeichnen Sie mit 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_Typ ist anders')

    return fig

Lauf

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='Tageszeiten',y_label='Elektrische Energie')

animation.gif

Recommended Posts

Memo, mit dem ein Diagramm zum Plotten animiert wurde
Machen Sie eine schöne Grafik mit Plotly
[Python] Erstellen Sie ein Diagramm, das mit Plotly verschoben werden kann
Ich habe mit Numpy eine Grafik mit Zufallszahlen erstellt
Ein Memo, dass ich den Datenspeicher mit Python berührt habe
Zeichnen Sie mit NetworkX ein Diagramm
Plotly Erstellen Sie ein Diagramm mit einer Schaltfläche
Zeichnen Sie mit networkx ein Diagramm
Eine Geschichte, die stolperte, als ich mit Transformer einen Chat-Chat-Bot erstellte
Ich habe einen harten Pomodoro-Timer entwickelt, der mit CUI funktioniert
[Visualisierung] Ich möchte mit Plotly ein schönes Diagramm zeichnen
Ich habe ein Plug-In erstellt, das "Daruma-san Fell" mit Minecraft ausführen kann
Zeichne ein Diagramm mit Julia + PyQtGraph (2)
Zeichnen Sie mit matplotlib ein loses Diagramm
Ich habe mit Python eine Lotterie gemacht.
Zeichne ein Diagramm mit Julia + PyQtGraph (1)
Zeichne ein Diagramm mit Julia + PyQtGraph (3)
Zeichnen Sie ein Diagramm mit Pandas + XlsxWriter
Lassen Sie uns ein Diagramm mit Python erstellen! !!
Zeichnen Sie ein Diagramm mit der PySimple-Benutzeroberfläche
Ich habe mit Python einen Daemon erstellt
Ich habe ein Paket erstellt, das morphologische Analysegeräte mit Python vergleichen kann
[Python] Ein Memo, das ich versucht habe, mit Asyncio zu beginnen
Ich habe ein Shuffle gemacht, das mit Python zurückgesetzt (zurückgesetzt) werden kann
Erstellen Sie ein Währungsdiagramm, das mit Plotly (2) verschoben werden kann.
Erstellen Sie ein Währungsdiagramm, das mit Plotly (1) verschoben werden kann.
Ich habe ein Programm erstellt, das den Tierkreis mit tkinter automatisch berechnet
Einfacher RSS-Reader mit Django
[PyQt] Mehrachsendiagramme mit QtChart anzeigen
Ich habe mit Python einen Zeichenzähler erstellt
Erstellen Sie eine Web-App, die mit Plotly Dash einfach visualisiert werden kann
Ich habe ein Plug-In "EZPrinter" erstellt, das Karten-PDF mit QGIS einfach ausgibt.
Ein Hinweis, mit dem Sie die Python-Umgebung von Pineapple mit pyenv ändern können
Ein Memo mit Python2.7 und Python3 in CentOS
So zeichnen Sie mit matplotlib ein Balkendiagramm, das mehrere Serien zusammenfasst
Ich habe eine Chrome-Erweiterung erstellt, die ein Diagramm auf der Amedas-Seite anzeigt
Ich habe mit Python eine Hex-Map erstellt
Ich habe ein Lebensspiel mit Numpy gemacht
Eine typisierte Welt, die mit Python beginnt
Ich habe ein Tool erstellt, das die Dekomprimierung mit CLI (Python3) etwas erleichtert.
Ich habe einen Hanko-Generator mit GAN gemacht
Ein Memo mit RADEX-Umgebungskonstruktion
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Zeichnen Sie ein Diagramm mit PyQtGraph Part 1-Drawing
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe mit Python einen Neuronensimulator erstellt
Erstellen Sie ein Diagramm mit Rändern, die mit matplotlib entfernt wurden
Ich habe ein Modul PyNanaco erstellt, das Nanaco-Guthaben mit Python belasten kann
Hinweise zum Erstellen von Zahlen, die mit matplotlib in Zeitschriften veröffentlicht werden können
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Ich habe einen Stempelersatzbot mit Linie gemacht
Zeichnen Sie eine flache Oberfläche mit einem Matplotlib-3D-Diagramm
Ich habe mit Python eine Bot-Wettervorhersage gemacht.
Zeichnen Sie in Jupyter ein Diagramm mit japanischen Beschriftungen
Ein Memo, das ich schnell in Python geschrieben habe