marcusvolz / strava_py

Create artistic visualisations with your exercise data (Python version)
MIT License
163 stars 19 forks source link

Activity processing #34

Closed CinGiu closed 1 year ago

CinGiu commented 1 year ago

I can't plot the calendar with activity data exported

/usr/local/lib/python3.11/site-packages/stravavis/plot_calendar.py:11: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.
  activities['Activity Date'] = pd.to_datetime(activities['Activity Date'])
Traceback (most recent call last):
  File "/Users/giulio/Documents/workspace/strava-plot/main.py", line 11, in <module>
    main()
  File "/Users/giulio/Documents/workspace/strava-plot/main.py", line 7, in main
    plot_calendar(activities, year_min=2015, year_max=2022, max_dist=80,
  File "/usr/local/lib/python3.11/site-packages/stravavis/plot_calendar.py", line 24, in plot_calendar
    fig, ax = calmap.calendarplot(
              ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/calmap/__init__.py", line 403, in calendarplot
    yearplot(by_day, year=year, how=None, ax=ax, **kwargs)
  File "/usr/local/lib/python3.11/site-packages/calmap/__init__.py", line 202, in yearplot
    plot_data = by_day.pivot("day", "week", "data").values[::-1]
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: DataFrame.pivot() takes 1 positional argument but 4 were given

the code

from stravavis.process_activities import process_activities
from stravavis.plot_calendar import plot_calendar

def main():
    activities = process_activities("./export/activities.csv")

    plot_calendar(activities, year_min=2015, year_max=2022, max_dist=80,
                fig_height=9, fig_width=15, output_file="calendar.png")

if __name__ == "__main__":
    main()
hugovk commented 1 year ago

This is because a dependency doesn't yet support Pandas 2:

Can you install pandas < 2 and try again?

I'll then make a new release that includes https://github.com/marcusvolz/strava_py/pull/32 to require pandas < 2.

CinGiu commented 1 year ago

it worked! thanks!