| import pandas as pd | |
| import plotly.graph_objects as go | |
| NEWS_COUNT_COLUMN = 0 | |
| def plot_time_series(file_path): | |
| df = pd.read_csv(file_path) | |
| fig = go.Figure() | |
| fig.add_trace(go.Scatter(x=df.iloc[:, 0], y=df.iloc[:, 1], mode='lines', name='Time Series')) | |
| fig.update_layout(title='Disease Mention Time Series', xaxis_title='Date', yaxis_title='Count') | |
| return fig | |
| def plot_anomalies(df, anomaly_col='new_label'): | |
| print(df) | |
| fig = go.Figure() | |
| fig.add_trace(go.Scatter( | |
| x=df.index, | |
| y=df.iloc[:, NEWS_COUNT_COLUMN], | |
| mode='lines', | |
| name='Time Series', | |
| line=dict(color='blue') | |
| )) | |
| anomalies = df[df[anomaly_col] == 1] | |
| fig.add_trace(go.Scatter( | |
| x=anomalies.index, | |
| y=anomalies.iloc[:, NEWS_COUNT_COLUMN], | |
| mode='markers', | |
| name='Anomalies', | |
| marker=dict(color='red', size=10, symbol='circle') | |
| )) | |
| fig.update_layout( | |
| title='Disease Mention Time Series with Detected Anomalies', | |
| xaxis_title='Date', | |
| yaxis_title='Count', | |
| showlegend=True | |
| ) | |
| return fig |