Tableau教程_经典图例之Nightingale\\'s Rose(玫瑰图)

2018-11-20 17:46

小白并非此图的原创,该图来源于tableau public,我是从群里拿到的,所以并不知道准确的原创是谁

在此小白只是解析做图过程,由于太过繁杂,解释清楚整个过程对我来讲是一种挑战,将用一种循序渐进的方式来讲解,会有几个练习,一步一个铺垫,都是为了做玫瑰图做准备

先上图吧(小白使用其它数据,可能与这个图不是一模一样):

练习一: 使用12条每月的记录数,做一个圆形的散点图,请参照下方的数据与图例 Order_date sales 2013/1/1 215229.21 2013/2/1 149129 2013/3/1 171790.95 2013/4/1 143738.82 2013/5/1 218862.15 2013/6/1 155990.53 2013/7/1 166914.92 2013/8/1 288185.07 2013/9/1 267567.24 2013/10/1 378211.99 2013/11/1 375129.18 2013/12/1 321610.77 生成以上数据的脚本: select DATEADD(DAY, 1-DAY([Order Date]),convert(date,[Order Date] )) as Order_date, SUM(Sales) as sales from Orders

where YEAR([Order Date]) = 2013

group by DATEADD(DAY, 1-DAY([Order Date]),convert(date,[Order Date] )) order by DATEADD(DAY, 1-DAY([Order Date]),convert(date,[Order Date] ))

1、打开Tableau Desktop,选择相应的数据库(把上面的数据存储在EXCEL也可以),选择自定义SQL,输入上面的脚本;

2、将字段Order Date拖至标记功能区,右击该字段,选择“月”; 3、创建计算字段,字段名称“x”,COS((INDEX()-1)*(2*PI()/WINDOW_MAX(INDEX()))) 创建计算字段,字段名

“y”

内内

容容

为为

::

SIN((INDEX()-1)*(2*PI()/WINDOW_MAX(INDEX()))) 注解:正弦余弦就不赘述了,如果不懂去翻书吧 WINDOW_MAX()是为了求得窗体内最大的值,WINDOW_MAX(INDEX())就是为了求得最大的索引值(说白了就是序列号)

4、将X字段拖至列功能区,右击该字段,编辑表计算:

根据以下因素计算:Order_date 所在级别: Order_date 月 重新启动间隔: 无

将Y字段拖至行功能区,与X字段设置相同

4、按住CTRL键,将标记功能区中的[Order_date]拖至筛选器,选择“月”;

5、通过选择不同的月份,我们可以看到,无论有几个月份,里面所有的点都处于均匀的角度分布;

小结:

以上的练习是为了让大家了解,如何将各个分区均匀分布,无论是12个月,或者是5个月,或者是7个月,都是均匀分布的

练习二:

只用两条数据: ID 1 102

来做一个多边形扇形

1、打开Tableau Desktop,选择数据源,该数据源之包含两条记录: 1、102

2、在工作表设计界面,右键度量中的id,创建-->数据桶,弹出窗体中 数据桶大小:1

3、将id(数据桶), 拖至行功能区,右击,选择“显示缺省值” ,可以看到,原来只有1和102两条记录,现在数据变为1至102, 而后将该字段拖至标记功能区

4、分别创建计算字段x, y 字段

cos(2*PI()*(index() sin(2*PI()*(index()

- -

1)/WINDOW_MAX(INDEX())) 1)/WINDOW_MAX(INDEX()))

5、将字段x拖至列功能区,去y字段拖至行功能区 右击x字段,计算依据-->id(数据桶) 右击y字段,计算依据-->id(数据桶)

标记功能区选择图形为:多边形

得到下图:

6、将标记功能区的 id(数据桶) 拖至路径,我们得到一个圆球 注意:这里是多边形做的,不是用饼图或圆点图

思考:我们希望得到一个扇形,目前是一个饼图,如果将开始位置和结束位置的点都放在圆心,那会怎么样呢

6、我们对字段x和字段y做一些修改:

x字段:IIF(INDEX() = 1 or INDEX() = WINDOW_MAX(INDEX()), 0,

cos(2*PI()*(index() - 1)/WINDOW_MAX(INDEX()))) y字段:IIF(INDEX() = 1 or INDEX() = WINDOW_MAX(INDEX()), 0,

sin(2*PI()*(index() - 1)/WINDOW_MAX(INDEX())))

得到下图:


Tableau教程_经典图例之Nightingale\\'s Rose(玫瑰图).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小班体育打怪兽(投掷)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: