Вопрос:
Можно ли преобразовать день в строку вместо десятичного значения? Аналогично для Месяца.
Примечание: я уже посетил этот ( 3D Scatterplot со строками в Python ) ответ, который не решает мой вопрос.
Я работаю над собственным проектом, в котором я пытаюсь создать трехмерную диаграмму для моих поездок на основе данных, которые я извлек из своей активности в Google. Для справки я следую этому руководству: https://nvbn.github.io/2018/05/01/commute/
Я могу создать информативную 2D-диаграмму на основе атрибутов Месяц + Время и День + Время . объединить эти 2 графика.
3D-диаграмма, которую я хочу создать, требует 3 атрибута День (Пн / Вт), Месяц (Январь / Февраль), Время выполнения .
Учитывая, что matplotlib не поддерживает значения String в диаграммах сразу, я использовал Number для Day (0-7) и Month (1-12). Однако график кажется немного неясным с десятичными значениями для дней. Выглядит следующим образом: ![enter image description here](https://i.stack.imgur.com/HYVh5.png)
Мой текущий код выглядит следующим образом, получая weekday()
для получения номера дня и month
для месяца.
# How commute is calculated and grouped
import pandas as pd
#{...}
def get_commute_to_work():
#{...}
yield Commute_to_work(pd.to_datetime(start.datetime), start.datetime, end.datetime, end.datetime - start.datetime)
#Now creating graph here
fig, ax = pyplot.subplots(subplot_kw={'projection': '3d'})
ax.grid()
ax.scatter([commute.day.weekday() for commute in normalised],
[commute.day.month for commute in normalised],
[commute.took.total_seconds() / 60 for commute in normalised])
ax.set(xlabel='Day',ylabel='Month' ,zlabel='commute (minutes)',
title='Daily commute')
ax.legend()
pyplot.show()
в северном направленииесли вы хотите посмотреть на детали этого кода, он доступен на github здесь