用Tableau画Arc Bar Chart

Arc Chart我在《用Tableau画环形图系列(四)画圆弧图(1)》介绍过,以前是用联接表的方法做的,优点是创建比较简单。但就原文提到的Arc Chart来说,实用性略差,今天我就在Arc Chart的基础上稍微改进一下,讲述一下如何制作Arc Bar Chart,这次我使用数据桶的方式。

创建数据集

Category    Start Point End Point   Value   Path  Step
A   2001    2005    10  1   1
A   2001    2005    10  181 1
A   2005    2008    3   1   2
A   2005    2008    3   181 2
A   2008    2012    2   1   3
A   2008    2012    2   181 3
A   2012    2013    4   1   4
A   2012    2013    4   181 4
A   2013    2020    6   1   5
A   2013    2020    6   181 5
B   2001    2004    4   1   1
B   2001    2004    4   181 1
B   2004    2010    5   1   2
B   2004    2010    5   181 2
B   2010    2014    1   1   3
B   2010    2014    1   181 3
B   2014    2017    2   1   4
B   2014    2017    2   181 4
C   2001    2007    2   1   1
C   2001    2007    2   181 1
C   2007    2009    5   1   2
C   2007    2009    5   181 2

数据集很简单,两行为一组,Category是分类,Start Point和End Point是开始和结束的年份,Path用来制作数据桶(构建半圆只需要180个点),Step是一个分类下每组数据的顺序号。

创建计算字段

  • 创建Path (数据桶)
  • Index=INDEX()-1

  • WC_Start Point=WINDOW_MAX(MAX([Start Point]))

  • WC_End Point=WINDOW_MAX(MAX([End Point]))

  • WC_Step Size=([WC_End Point]-[WC_Start Point])/2

  • WC_Value=WINDOW_MAX(MAX([Value]))

  • X=((COS([Index]*PI()/180))*[WC_Step Size])+[WC_Step Size]+[WC_Start Point]

  • Y=SIN([Index]*PI()/180)*[WC_Value]

X、Y的计算方法请参照前面的画圆系列文章,只稍微提示一下X轴里的[WC_Step Size]+[WC_Start Point]是为了把圆弧都错开,并保证首尾相接。Y轴*[WC_Value]确定了弧线的高度。

开始做图

  • 将标记类型改为“线”。

  • 把[Step]字段拖到“详细信息”里。

  • 把[Path (数据桶)]拖到行功能区,右键选择“显示缺失值”,然后将行功能区上的这个[Path (数据桶)],拖回到标记“路径”上,此时行功能区为空。

这样的操作保证了数据桶是180个值,而不是只有1和181这两个值。

  • 将[Category]和[Y]拖到行功能区,[X]拖到列功能区,[X]、[Y]的计算依据都选择[Path (数据桶)]。

  • 此时还需要调整一下[X]轴的范围,由于我们是2001年到2020年的数据,为了保证图形显示全,我们选择固定在2000-2021之间。

  • 在设置格式里去掉不必要的线,只保留边界格式里的“行分隔符”,用以分割三个分类。

  • 增加X轴趋势线,用来增加底色。

  • 调整标记栏里线的颜色。

如果一切顺利,会出现下图的效果。

改进图形

上面的方法比较简单,但背景颜色不能自由调整,我们用双轴的方法,改进一下。

  • WC_Value2=WINDOW_MAX(MAX([Value]))+1

当然这个字段直接用WC_Value也是可以的,我数据里的最大值是10,这里+1,为了保证图形显示的美观。假如你要固定一个背景,高度15,直接用一个WINDOW_MAX(15)也没问题,还少了后面的表计算。

  • 其他步骤基本与上面一致,这里去掉了添加参考线的步骤。

  • 把[WC_Value2]拖到行功能区,标记类型选择“区域”,编辑表计算依据如下:

  • 关闭堆叠标记。
  • 将[Category]拖到颜色,并调整颜色,透明度为100%。

  • 与[Y]轴双轴并同步轴。

好了,上面基本完了Arc Bar Chart的制作,但我们还有调整的余地。

进阶

  • 创建参数[Y Distance]
  • IndexY= INDEX()

  • Y2=[Y]+[IndexY]*[Y Distance]

我们通过[Y2]的计算字段,把三个分类放到一个度量里,并把位置错开,形成了叠加的效果。

  • [X]拖到列功能区,计算依据都选择[Path (数据桶)]。

  • [Y2]拖到行功能区,[Index]和[WC_Value]的计算依据是[Path (数据桶)],[IndexY]的计算依据是[Category]。

基本效果如下,大家可以自己试验一下。

另外给大家推荐一个Viz《Joyful Arcs》,非常漂亮,大家可以下载研究。

https://public.tableau.com/profile/erikrettman#!/vizhome/JoyfulArcsII/OverlappingArcJoyPlot

此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容