上一篇文章《用Tableau制作滚动时间轴(上)》我们介绍了滚动时间轴的基本制作方法。这篇文章我们继续丰富和美化时间轴。
制作内容显示工作表
由于数据集内有大量的文字描述内容,那么让这些内容显示到时间轴里,就不太现实了。需要单独建立一个工作表来显示文字内容。
这里我们还需要一个筛选器来控制显示的内容,同时为了保证只选择圆点,显示相应文字,选择时间线不起作用的话,还需要一些额外操作。
- 创建参数 Selected Event
- Event Filter=
IF [Event]=[Selected Event] THEN
"Keep"
ELSE
"Exclude"
END
把[Event Filter]拖到[text]工作表的筛选器上,选择Keep。
把[Event]拖到上一节制作的[timeline]工作表,形状轴上。
- 新建参数动作
到仪表板中合并工作表,就可以看到选择效果了。
但是这里还有些bug,默认点选后是高亮显示,而取消选择以后,就无法显示文字内容,因为取消选择是无法起到传递参数作用的。
改进筛选效果
这个bug需要制作一个类似按钮的效果来解决,这个大家可以参考《如何制作提交按钮,实现多条件筛选》这篇文章。
- 新建Toggle表
Toggle
1
2
- 做表链接
为了这个按钮效果,我们把数据又扩充了一倍。
Toggle Next=IF [Toggle]= 1 then 2 ELSE 1 END
将[Toggle Next]拖到[timeline]工作表,形状轴上
- 添加筛选器操作
这样,筛选的bug已经搞定了。
美化时间轴
新建计算字段
- Event Year=
{FIXED : MAX(
IF [Event]=[Selected Event] THEN
[Year (Year)]
END
)}
- Shape=
IF ISNULL([Event]) THEN
"None"
ELSEIF [Year (Year)] > [Event Year] THEN
"Future"
ELSEIF [Year (Year)] = [Event Year] THEN
"Current"
ELSE
"Past"
END
- Color Line=
IF [Year (Year)] >=[Event Year] THEN
"Future"
ELSE
"Past"
END
- 将[Color Line]拖到[timeline]工作表,线轴上,标记类型选择“颜色”,编辑好颜色,同时要右键改为“属性”。
- 将[Shape]拖到[timeline]工作表,形状轴上,替换掉[Is Event],重新编辑形状
至此大功告成。
这个Viz里面用到的知识还是非常多的,大家还需要悉心研究,搞透原理,日后遇到新需求才能才能举一反三,游刃有余。
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下