Как вы сказали, вы можете использовать панды для создания графика сложенных штрихов. Аргумент о том, что вы хотите иметь «морской сюжет», не имеет значения, так как каждый сюжет на морском дне и каждый панд-сюжет - это, в конце концов, объекты matplotlib, поскольку инструменты построения обеих библиотек - это просто маскировочные обложки matplotlib.
Итак, вот полное решение (взятие данных из ответа @ andrew_reece).
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
n = 500
mark = np.random.choice([True,False], n)
periods = np.random.choice(['BASELINE','WEEK 12', 'WEEK 24', 'WEEK 4'], n)
df = pd.DataFrame({'mark':mark,'period':periods})
ct = pd.crosstab(df.period, df.mark)
ct.plot.bar(stacked=True)
plt.legend(title='mark')
plt.show()
Я предполагаю, что вы должны создать службу анализа приложений, как показано ниже:
import {Injectable} from '@angular/core';
import {AppInsights} from 'applicationinsights-js';
@Injectable()
export class MonitoringService {
private config: Microsoft.ApplicationInsights.IConfig = {
instrumentationKey: 'KEY_GOES_HERE',
enableDebug: true,
verboseLogging: true
};
constructor() {
if (!AppInsights.config) {
AppInsights.downloadAndSetup(this.config);
}
}
logPageView(name?: string, url?: string, properties?: any, measurements?: any, duration?: number) {
AppInsights.trackPageView(name, url, properties, measurements, duration);
}
logEvent(name: string, properties?: any, measurements?: any) {
AppInsights.trackEvent(name, properties, measurements);
}
trackException(exception: Error) {
AppInsights.trackException(exception);
}
}
Angular обрабатывает все необработанные исключения, поэтому он также должен хранить все 404. Попробуйте реализовать https://angular.io/api/core/ErrorHandler и вызовите trackException оттуда.
Это будет пользовательский обработчик ошибок, из которого вы можете отфильтровать URL-адрес, который вы хотите сохранить, а также проверить код ответа 404. Если это так, нет необходимости его сохранять, просто вызовите метод отслеживания исключений. [ 115]
Вот одна хорошая статья для настройки ИИ в угловых SPA.
http://www.andrewconnell.com/blog/using-azure-application-insights-with-single-page-apps
Надеюсь, это поможет.