初学者的问题在这里。
**我尝试构建的内容:**一个从CSV中提取数据并创建日历热图的程序。我是一名语言学习者(西班牙语、日语等),我使用的数据集是一个CSV,它显示了我每天沉浸在目标语言中的小时数。我希望热图中的单个值是小时数。Y轴将是一周中的天数,X轴将是月份。
**我尝试过的方法:**在过去的两天里,我尝试了许多方法(其中大多数使用seborn),结果都是错误丛生的意大利面条代码...
我 * 今天 * 使用的方法是calmap。以下是我目前所拥有的:
import seaborn as sns
import matplotlib as plt
import numpy as np
from vega_datasets import data as vds
import calmap
import pandas as pd
import calplot
# importing CSV from google drive
df = pd.read_csv('ImmersionHours.csv', names=['Type', 'Name', 'Date', 'Time', 'Total Time'])
# deleting extraneous row of data
df.drop([0], inplace=True)
# making sure dates are in datetime format
df['Date'] = pd.to_datetime(df['Date'])
# setting the dates as the index
df.set_index('Date', inplace=True)
# the data is now formatted how I want
# creating a series for the heat map values
hm_values = pd.Series(df.Time)
# trying to create the heat map from the series (hm_values)
calmap.yearplot(data=hm_values, year=2021)
这是我导入Python的数据集的副本(供参考)https://docs.google.com/spreadsheets/d/1owZv0NDLz7S4R5Spf-hzRDGMTCS1FVSMvi0WsZJenWE/edit?usp=sharing
有人能告诉我哪里出错了吗?为什么热图不显示?提前感谢您的建议/提示/更正。
1条答案
按热度按时间xiozqbni1#
这个问题有点老了,但如果有人感兴趣的话,我也遇到了同样的问题,发现这本笔记本对解决这个问题很有帮助:https://github.com/amandasolis/Fitbit/blob/master/FitbitSummaryPlots.ipynb
data.csv
的第一行(我绘制了frac
,第三列,而不是duration
,但应该是相似的):