用Tableau画环形图系列(三)画环状条形图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Tableau画环形图系列(三)画环状条形图相关的知识,希望对你有一定的参考价值。

参考技术A 环状条形图,还有叫跑道图,玉块图的,英文名称是Radial Bar Chart

https://datavizcatalogue.com/methods/radial_bar_chart.html

有了前两节的基础,其实画起来也就不难了,说白了它就是没画全的圆环图

那么怎么用上一节的数据,改哪里可以让圆形有缺口?

很简单,point的值,原来是画360度就是一圈,如果你画半圆就用180度,画四分之三就是270度,就这么简单,自己动手删除多余的point吧,先来个270度的

很简单吧,但是所有的条形都一样长,怎么办?

按比例缩短或增加(一般都是按最外圈,最长环的比例缩短),因此数据源要进行改造,增加一个%size字段(用%号就是强调比例,如果超过100%就是加长线条),来控制

Tableau刷新数据以后,就得到了新的%size字段,然后还要改造sin和cos字段

就得到了想要的图

那么为什么要这样改造sin和cos?其实就是把每个坐标点之间的距离都缩短了,比如circle1是按10%缩小,实际上还是270个点,但是每个点的坐标都缩小到10%,也就是270个点之间变密了,自然线就变短了。

好了,图做完了,我们再延伸一下,大家有没有注意到,加粗的线,起始点是超过纵轴的(细的时候看不出来哦,为什么呢?自己琢磨一下)

那怎么办呢?调整起始点的位置呗

起始点的位置是谁决定的?point的值(大家可以慢慢实验)

重点是要记住sin和cos的公式【SIN([point]*PI()/180*[%size])*[R]】,这样你就可以随意控制圆环了

实际应用中,数据源肯定没有这么简单,但是只要理解了原理,实现起来就不困难了,研究过Tableau Public上大神们的作品,R和%size都是根据数据通过表计算等到的,明白以后,再拆解他们的作品就容易多了。

链接:https://www.jianshu.com/p/4a04a36080ee

来源:

怎样用tableau画sankey图

tableau的话接触的比较少,一般情况下用的都是与之相对的finebi,既然题主所的是tableau,那么就来说下怎么话桑基图吧。
首先准备好数据。假设有如下两个数据,在Data1中,连接是完全相同的字符串,目的是与Data2进行关联;ID是编号;总共有17行数据。位置1是从5——23的序列,而位置2可以从任意数值开始,往下填充序列。 在Data2中,有49行数据,两个属性名:“连接”与“t”,连接与Data1中保持一致,t也即函数式中的t,本例中t区间为[-6,6],步长为0.25,恰好可以填充完49列。
将数据导入Tableau,利用“连接”作为联接子句在数据源间建立联系,显然数据的列数就会变为49 * 17 = 833列。
创建计算字段。一个是【Sigmoid函数】,直接仿写函数式即可, 1/(1+EXP(1)^(-[t])),这个函数的作用在于为构造S型流线做准备,EXP是Tableau中写幂指数的表达式;另一个是【曲线】,函数式为:[位置1]+(([位置2]-[位置1])*[Sigmoid函数]),这个函数作用一目了然,我们的Sankey Diagram的左右端点正因为处于不用的水平线上,才能画出S型流线,([位置2]-[位置1])计算了源数据中两点在位置上的偏移,而[Sigmoid函数]的值域处于(0,1)之间,本例中,([位置2]-[位置1])的差值为常量24,因此不消细说,在脑海的图景中已经可以构想出Sankey Diagram的大致模样。
将t拖入列字段(维度),曲线拖入行字段(维度);将“标记”更改为“线”,再利用ID这独一无二的变量作为“详细信息”将纠缠在一起的线分开,最后,将“产品类别”拖拽至“颜色”中为线段赋予颜色
参考技术A 原理:桑基图是柱图+曲线图+柱图,通过计算点坐标的方式,使线图的左起始点和左侧柱图对应,线图的右侧终点和右侧柱图对应,从而形成一个桑基图。
功能:最关键的曲线图使用了常见的logistic函数,通过tableau的表计算和计算字段后即可实现漂亮的桑基图效果。
实现步骤可以看看:举个栗子!Tableau 技巧(25):学做漂亮的桑基图 Sankeydiagram
参考技术B

制作sankey图(桑基图)的话,tableau还是比较复杂的,需要些一些公式,处理起来比较麻烦,可以试下bdp个人版,属于拖拽能生成图表的,不需要公式,但要求分析的数据有意义,不然就算做出桑基图,意义也不大。

具体操作,可以参考一下百度经验:https://jingyan.baidu.com/arti

以上是关于用Tableau画环形图系列(三)画环状条形图的主要内容,如果未能解决你的问题,请参考以下文章

tableau利用甘特图特点画不同方向的条形图

python中怎样画条形图

怎样用tableau画sankey图

sns.barplot() 画条形图

r语言 条形图上有数值

barplot()函数画条形图