Как получить плавные средние кривые в Pyplot - PullRequest
0 голосов
/ 07 мая 2018

Итак, у Tensorboard есть замечательная функция сглаживания, с помощью которой вы можете рисовать исходные кривые в затененных цветах, а также гладкая версия сверху в сплошном цвете: enter image description here

Как я могу сделать это с Pyplot? Эта функция является ключевой для определения тенденций с помощью сглаженных кривых и отклонения от затененных исходных кривых. Tensorboard довольно ограничен, поэтому я хотел бы воссоздать внешний вид в matplot lib. Есть идеи?

Примечание. Я не хочу "интерполировать" между точками данных, слишком большая разница.

1 Ответ

0 голосов
/ 07 мая 2018

Вы можете использовать rolling -объект панд. При этом вы можете определить окно определенного размера, которое переворачивает ваши данные, и затем вы можете использовать его для вычисления среднего, суммы или чего-либо еще.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

t = np.linspace(0, 1.5*np.pi, 2500)
y = np.sin(t**2)+np.random.random(2500)*.6
df = pd.DataFrame(y)
plt.plot(df[0], 'lightblue', df[0].rolling(10).mean(), 'b')

enter image description here

...