| 1 | import os |
| 2 | import pandas as pd |
| 3 | import matplotlib.pyplot as plt |
| 4 | import seaborn as sns |
| 5 | import sys |
| 6 | |
| 7 | data = pd.read_csv( |
| 8 | "../assets/datasets/time_series_solar.csv", |
| 9 | parse_dates=["Datetime"], |
| 10 | index_col="Datetime", |
| 11 | ) |
| 12 | series = data["Incoming Solar"] |
| 13 | |
| 14 | if len(sys.argv) == 2 and sys.argv[1] == "pandas": |
| 15 | print("Plotting with pandas") |
| 16 | series.plot(figsize=(12, 6), title="Solar radiation time series") |
| 17 | plt.show() |
| 18 | else: |
| 19 | print("Plotting with seaborn (sns)") |
| 20 | |
| 21 | series_df = series.reset_index() |
| 22 | |
| 23 | plt.rcParams["figure.figsize"] = [12, 6] |
| 24 | |
| 25 | sns.set_theme(style="darkgrid") |
| 26 | sns.lineplot(data=series_df, x="Datetime", y="Incoming Solar") |
| 27 | |
| 28 | plt.ylabel("Solar Radiation") |
| 29 | plt.xlabel("") |
| 30 | plt.title("Solar radiation time series") |
| 31 | |
| 32 | os.makedirs('assets', exist_ok=True) |
| 33 | plt.savefig('assets/timeseries_plot.png') |