Анимация Matplotlib в браузере - PullRequest
0 голосов
/ 26 ноября 2018

У меня возникают проблемы при попытке просмотреть мой анимированный график в браузере с помощью mpld3.Какие-нибудь подсказки относительно того, что я делаю неправильно?Если бы я мог выяснить, как преобразовать его в HTML, чтобы я мог вставить его на свой веб-сайт, это было бы еще лучше.

import matplotlib.pyplot as plt
import mpld3
import matplotlib.animation as animation
from matplotlib import style
import pandas as pd
import matplotlib.dates
from mpldatacursor import datacursor

style.use('fivethirtyeight')

fig = plt.figure()
ax = plt.subplot2grid((1,1), (0,0))

dateparse = lambda x: pd.datetime.strptime(x, 
                                       '%m/%d/%y %I:%M:%S %p')
def animate (i):
    df = pd.read_csv('arp.csv', 
                     index_col='Number',
                     parse_dates=['Date'], 
                     date_parser=dateparse, 
                     delimiter =',')

    e = i+1440
    df_tfvolts = df.iloc[i:e, 1]
    df_tftime = df.iloc[i:e, 0]
    b = matplotlib.dates.date2num(df.iloc[i:e, 0])
    ax.clear()
    ax.plot(df_tftime, df_tfvolts, 'r')
    ax.fill_between(b, df_tfvolts, facecolor='r', alpha =0.3)

    for label in ax.xaxis.get_ticklabels():
        label.set_rotation(30)

    plt.title('Lghtbug 7')
    plt.subplots_adjust(top=0.893, 
                        bottom=0.2, 
                        right=0.962, 
                        left=0.11)

    plt.xlabel('Date')
    plt.ylabel('Volt')


    datacursor(hover=True, bbox = None, point_labels = None, 
               draggable = True)

ani = animation.FuncAnimation (fig, 
                               animate, 
                               interval=10)

mpld3.show()

1 Ответ

0 голосов
/ 28 ноября 2018

Если вы действительно хотите сделать анимацию, вы можете взглянуть на пример surface3d из библиотеки Bokeh (код здесь ).

В противном случаеЕсли вы просто хотите постепенно видеть, что происходит с вашими данными, я бы посоветовал использовать ползунок.Якобы есть способ сделать это в mpld3, но демоверсия 1008 * не работает ... вы можете проверить этот другой пример с помощью Bokeh.

...