用Tableau制作滚动时间轴(上)

用Tableau制作滚动时间轴(上)

最近看到ken大神的滚动时间轴教程,非常的喜欢,就根据教程模仿了一下。实现起来不是很难,但是效果非常的好。 文… 

🏷️ 分类:图表教程

最近看到ken大神的滚动时间轴教程,非常的喜欢,就根据教程模仿了一下。实现起来不是很难,但是效果非常的好。

__BLOCK_p__文章地址:https://www.flerlagetwins.com/2020/03/scrollable-timeline.html

下面我就根据自己的实现过程,把步骤和原理都讲一下,内容基于ken大神的博客,步骤略有更改。

__BLOCK_p__美国总统数据集下载地址:http://w2h.cc/MWY2Z

先将数据集中的[Year]表和[Events]表做如下图的左连接:

__BLOCK_p__由于Events表只有总统开始任期的年,所以为了保证时间轴是一个连续完整的动态效果,需要辅助的Year表,来构造一列连续的年。
IF [Year (Year)]>=[Timeline Start] AND [Year (Year)]<=[Timeline End] THEN
    "Keep"
ELSE
    "Exclude"
END
通过这个字段,就可以保证时间轴只显示开始时间和结束时间之间的年份。
IF ISNULL([Event]) THEN
    FALSE
ELSE
    TRUE
END
通过这个字段确定哪些年份突出显示,哪些不显示。
__BLOCK_p__最有意思的就是这个透明图形了,默认是没有的。我用PS做了一个透明图形,并输出成PNG格式。大家可以复制下来,找到“Tableau存储库”>“形状”文件夹,新建一个文件夹放,要不真是白茫茫一片,连自己都找不到。

透明图形

如下图所示,基本的时间轴就做好了。

IF [Timeline End]+[Timeline Step] > [Year Last] THEN
    [Year Last]-[Timeline Years]-1
ELSE
    [Timeline Start]+[Timeline Step]
END
IF [Timeline End]+[Timeline Step] > [Year Last] THEN
    [Year Last]
ELSE
    [Timeline End]+[Timeline Step]
END
IF [Timeline Start]-[Timeline Step] < [Year First] THEN
    [Year First]
ELSE
    [Timeline Start]-[Timeline Step]
END
IF [Timeline Start]-[Timeline Step] < [Year First] THEN
    [Year First]+[Timeline Years]-1
ELSE
    [Timeline End]-[Timeline Step]
END

将三个工作表组合到仪表板中。

新建4个参数动作

通过这4个参数动作,当点击左、右按钮的时候,通过计算字段将值传入[Timeline Start]和[Timeline End]参数,然后影响[Year Filter],达到控制显示哪些年份的效果。

基本的滚动时间轴就介绍完了,美化工作我将在下一篇中介绍。

但是学会上面的内容,其实已经可以做一些应用了,我模仿南方都市报的疫情数据做了一个Viz,当然这个更复杂一点,但是基本知识完全不超出以上内容,大家可以下载研究。

__BLOCK_p__https://public.tableau.com/profile/jiangbin#!/vizhome/COVID-19EventsofChina/1

🏷️ 标签:Tableau、图表教程

📚 系列文章:用Tableau制作滚动时间轴
用Tableau制作滚动时间轴(上) (本文)
用Tableau制作滚动时间轴(下)
——————————————————————————————
📖 相关文章
用Tableau制作滚动时间轴(下)
用Tableau画曲线图系列(一)基础知识
用Tableau制作网络关系图
用Tableau制作3D旋转地球
用Tableau快速制作网络关系图
——————————————————————————————

No comments yet