Flourish是一个数据可视化的网站,上面有很多的模板供大家使用,这里我使用的是Bar chart race,就是那种诸如小视频里的各国GDP之类的柱状竞赛图。注意免费账户的数据会被公开,如果要想设置为隐私,需要升级账户。
官方网址:https://flourish.studio/
表格记录了我的朋友们在假期的学习时长,用的番茄自习室记录。每天记录一下当天的学习时长,然后做一个迭代统计,得到当天之前的时长总和。
原始数据:
利用python做一个简单的数据处理
import pandas as pd
import numpy as np
def num2date(date):
delta = pd.Timedelta(str(int(date))+'days')
time = pd.to_datetime('1899-12-30') + delta
time = time.strftime('%m{m}%d{d}').format(m='月', d='日')
return time
def list2date(date_list):
list_length = len(date_list)
labels = []
for i in range(list_length):
label = num2date(date_list[i])
labels.append(label)
return labels
df = pd.read_excel('data.xlsx')
data = np.array(df)
qq = np.array([0, 0, 0, 0]) # 替换掉前面的代号,方便迭代计算
nrows = np.size(data, 0)
nclos = np.size(data, 1)
data[:, 0] = np.zeros(nrows)
for i in range(nrows):
for j in range(1, nclos):
data[i, j] += data[i, j - 1]
data[:, 0] = ['Q', 'W', 'Y', 'F']
# data = np.delete(data, -1, axis=1) # 删除日期的最后一列
for i in range(len(data)):
for j in range(len(data[i])):
if data[i][j] == 0:
data[i][j] = np.nan
date_labels = list(df.columns.values)
header = list2date(date_labels[1:])
header = ["选手"] + header
data = pd.DataFrame(data)
writer = pd.ExcelWriter('A.xlsx')
data.to_excel(writer, 'page_1', float_format='%.5f', header=header, index=None)
writer.save()
writer.close()
迭代统计后的数据:
新建一个Visualisation,直接上传excel数据即可。
点击Preview即可预览视频,右边一栏可以调节各个参数。注意导出需要升级账户,如果要求不高录屏即可。