Ejemplo n.º 1
0
def plot_fit(series, filename):
    y = series.tolist()
    x = np.array(range(len(y)))
    gauss = Gauss(x, y)
    y_pred = gauss.fit()
    fit_series = pd.Series(y_pred, series.index, name="Fitted Curve")

    _, m, s = gauss.par
    current = int(sum(y))
    estimate = gauss.estimate_total()

    fig1 = series.iplot(kind="bar", asFigure=True)
    fig2 = fit_series.iplot(asFigure=True,
                            colors=['blue'],
                            width=2,
                            dash="dashdot")

    fig = cf.tools.merge_figures([fig1, fig2])
    fig = go.Figure(fig)
    fig.update_layout(
        title_text="Total Infection Estimate<br>-------------------------------"\
                   "<br>Current: {} people,"\
                   " Estimate: {} people".format(current,estimate),
        yaxis_title="Capita [-]")

    cf.iplot(figure=fig, asUrl=True, filename=filename)
    return