资讯动态

Tableau雷达图实现全攻略:从数据重塑到表计算与美化

发布时间:2026/10/13 12:34:28 来源:尧图企业网站定制
雷达图Tableau里最让人又爱又恨的图表类型。爱它的直观——一涉及绩效评估、产品对比、能力画像这类场景五六项指标往圆周上一摆强弱项一眼就能看明白。恨它的是Tableau原生图表库中压根没有雷达图这个选项柱状图、折线图、饼图、散点图、箱线图甚至帕累托图都给你包好了唯独雷达图要自己从零搭。我最早是在给某电商运营团队做新品多维评估时碰上这个需求的产品还没正式上架就要把五个维度的评分画成一张能一眼看出强弱的图。第一次尝试做的雷达图歪七扭八线条乱蹿盯着看半天也没法看。从那以后我前前后后把雷达图彻底做透了这篇文章就把完整思路和实操细节原原本本写出来从数据准备、计算公式、画布配置到美化扩展全面覆盖保证看完能照着做出来。1. 为什么Tableau做雷达图这么费劲原理与整体思路1.1 雷达图的适用场景与核心价值雷达图本质上是把多维数据映射到极坐标体系里每个维度占据一个均匀分布的角度方向数值大小决定从圆心延伸到外周的距离最后把相邻的点连起来形成不规则多边形。它的场景其实很聚焦适合那些维度少、维度间没有明显主次顺序、但又需要整体对比的场合。以我实际的经历来说最常用到雷达图的是三类场景。第一类是评估对比比如某电商运营团队新品评估价格力、功能完整度、用户体验、品牌认可度、售后响应速度五个维度两个产品放一起哪方面有优势哪方面是短板非常直观。第二类是企业内部的能力画像比如销售团队六维能力模型、门店运营健康度。第三类是产品功能对标新老版本、自家与竞品的多指标打表。雷达图不适合用在海量维度上。维度一旦超过十个顶点密集成一圈多边形几乎变成圆形信息辨识度直线下降。同样如果维度之间有明确的层次结构或线性顺序那用棒形图、折线图的效果会更好。雷达图的核心价值是整体形态比较——脸型相似还是差异巨大一眼就有结论。1.2 雷达图的数学原理极坐标与平面直角坐标雷达图在Tableau里没法直接选是因为Tableau的画法要求你把每个点的位置换算成平面直角坐标也就是X和Y。雷达图本身的定义坐标是极坐标一个点由距离r相当于指标得分和角度θ相当于维度方向构成。把N个维度均匀放在圆周上每个维度之间的夹角就是360°/N。如果从3点钟方向开始按逆时针排列第一个维度的角度是0第二个是360°/N第三个是2×360°/N依此类推。给定某个维度的得分r它在屏幕上的位置就是X r × cos(θ)Y r × sin(θ)这里的θ用的是弧度制。Tableau的COS和SIN函数接收的都是弧度不是角度这是新手最容易忽略的地方。换算公式是弧度 角度 × π / 180。用日常生活的例子理解雷达图就像一个切蛋糕的过程。把圆蛋糕平均切成N份每个维度占据一份每种产品的得分数据在每一份的半径方向上画一个点最后把所有点连起来变成一个有棱有角的不规则多边形。这个多边形越饱满代表综合表现越好哪边凹进去哪方面就有短板。1.3 整体实现路线图在Tableau中手工搭建雷达图大致分四个阶段数据准备把适合人看的宽表结构转成适合Tableau画图的长表结构每行代表一个维度一条记录。计算字段创建维度数量参数、索引、角度、X坐标、Y坐标。画布绘制拖放字段、切换标记类型为多边形、配置路径和表计算。美化与调试锁定坐标轴范围、加标签、做网格背景、处理常见异常。这四个阶段里最核心也最容易出问题的就是计算字段和表计算配置。数据格式不对图形根本画不出来表计算配置错了多边形的线条会满画布乱蹿。接下来我把每一步都拆开讲解。2. 数据准备宽表转长表是第一步2.1 宽表与长表的概念雷达图在Tableau里的绘制方式决定了它要求的数据结构是长表而不是宽表。所谓宽表是我们日常看数据的习惯形态每行是一个产品每个维度是一列。比如两个产品五行维度宽表长这样产品价格力功能完整度用户体验品牌认可度售后响应速度新品A7286916478新品B6682749068这种表人类看起来方便但Tableau画雷达图时需要的不是一行多列而是一行一值。也就是每个产品、每个维度、每个得分各占一行的长表结构产品评估维度得分新品A价格力72新品A功能完整度86新品A用户体验91新品A品牌认可度64新品A售后响应速度78新品B价格力66新品B功能完整度82新品B用户体验74新品B品牌认可度90新品B售后响应速度68为什么必须长表因为计算字段里需要依据评估维度这个字段来做表计算得到索引号进而算出每个顶点对应的角度和坐标。如果数据留在宽表里Tableau没办法按照维度分区循环计算坐标字段无从谈起。2.2 在Excel里完成数据重塑绝大多数情况下数据源给过来就是宽表。我的习惯是在Excel或者数据清洗阶段就把它转成长表不要在Tableau里临时做复杂转换后期排查问题也简单。Excel转换最直接的办法是利用Power Query。选中宽表数据进入数据选项卡点击从表格/区域在Power Query编辑器里选中价格力功能完整度用户体验品牌认可度售后响应速度这几列然后点击转换→逆透视列宽表瞬间变成了属性和值两列。把属性改名为评估维度值改名为得分再关闭并上载就完成了。如果不想用Power Query用公式也能实现。在Excel里新建一张表写下产品、评估维度、得分三列然后通过INDEX和MATCH公式把宽表中的数据引过来。不过公式方式比较繁琐数据量大了之后公式卡顿明显我通常只在临时处理小数据集时用。在Python或任何数据处理工具里做同样的事更简单把宽表用聚合函数melt成行记录即可。关键是最终得到的字段名称要规范Tableau识别起来更友好。2.3 在Tableau数据源里直接转换如果数据源不方便预处理Tableau也提供了数据重塑功能。在Tableau Prep或者数据源连接界面里选中需要逆透视的列右键选择透视或转置同样可以把宽表变成长表。但要提一句Tableau界面内做数据重塑的交互没有Excel Power Query那么顺滑特别是字段较多、需要频繁改动的时候重试成本高。我的建议是如果数据只是临时使用Tableau内转换完全可以如果这个数据源要长期复用那就在底层把它转成长表别把转换逻辑埋在报表里否则后续维护的人会非常痛苦。2.4 维度排序字段容易被忽略的关键细节长表只是解决了数据结构问题还有一个细节很多人会漏掉维度字段的排列顺序。Tableau对字符串维度默认按字母顺序排序。如果我们的五个维度是价格力功能完整度用户体验品牌认可度售后响应速度按字母顺序会变成功能完整度价格力品牌认可度售后响应速度用户体验顶点顺序乱了雷达图的形态会和业务预期的完全不同。要解决这个问题我会在源数据里加一个维度序号字段给每个维度一个固定的排序编号。价格力1功能完整度2用户体验3品牌认可度4售后响应速度5。然后在Tableau里把评估维度的排序方式设为字段按维度序号排列。这一步不在实际情况中做好后面画出来的图形很可能看起来是个五边形但顶点对应关系完全是乱的。3. 构建核心计算字段角度与坐标3.1 维度数量参数在Tableau里做雷达图我建议先把维度数量做成参数而不是直接写死在公式里。参数的好处是后续如果需要换数据集、调整维度数不需要修改计算字段直接调参数就行。创建方法在左侧数据窗格的空白区域右键选择创建参数命名为维度数量。数据类型设为整数当前值填5。允许值范围可以设为3到12。雷达图至少需要3个维度才成形状超过12个视觉上会糊成一团限制在这个范围内合理。这个参数在后面的角度计算字段中会用到。它的本质是告诉你圆周要被切成多少份也就是有多少个顶点。3.2 索引与角度计算接下来创建第一个核心计算字段索引。索引 INDEX()INDEX()是Tableau的表计算函数返回当前行在其分区内的行号从1开始。也就是说如果我们有5个维度每个维度一行INDEX()会返回1、2、3、4、5。第二个计算字段是角度弧度。公式为角度弧度 (INDEX() - 1) * 2 * PI() / [维度数量]这个公式的含义是第1个维度角度为0第2个维度角度为2π/N第3个维度角度为4π/N依次类推。用INDEX()减1是因为要让第一个维度落在0度也就是正右方3点钟的位置。这里再次强调弧度制不是角度制。2π弧度等于360度所以公式整体是以弧度表达的。如果写成360度反而会出错因为COS(360)不会按三角函数预期工作。3.3 X/Y坐标计算有了角度加上每个维度的实际得分就能计算X和Y坐标。X坐标 COS([角度弧度]) * SUM([得分]) Y坐标 SIN([角度弧度]) * SUM([得分])为什么用SUM包裹[得分]因为在Tableau的视图上下文中维度是评估维度和产品这两个维度时每个组合只有一行SUM([得分])实际上返回的就是该行的得分值。但Tableau要求非聚合字段拖到视图中时必须有聚合方式提前在计算字段里包一层SUM能避免后续大量聚合报错。从数学上看X 得分 × cos(角度)Y 得分 × sin(角度)。得分就是极坐标里的半径r。得分越高这个顶点离圆心越远雷达图就越饱满。这里还要说明一下如果得分本身就是负数雷达图会往反方向延伸图形会非常怪异。雷达图适用的指标通常都是非负的比如0-100的评分。如果数据里有负数建议先做平移或者取绝对值等预处理。3.4 表计算配置最关键的细节计算字段本身写好了但如果不配置表计算视图里依然画不出正确的图形。这是整个雷达图制作中最容易被卡住的地方也是各种教程里讲得最含糊的地方。右键点击字段X坐标选择编辑表计算把计算依据改为特定维度然后勾选评估维度。Tableau会自动将其他维度如产品作为分区维度。这意味着INDEX()会在每个产品的内部按评估维度的顺序从1数到5。对Y坐标也要做相同的表计算设置。还有路径上的索引字段同样要设置计算依据为评估维度。三个字段必须保持完全一致的设置否则图形会被拆得七零八落。具体来说为什么必须指定计算依据为评估维度INDEX()如果不指定计算依据Tableau默认会按照视图中最细的粒度计算在多维度存在时可能按产品×评估维度的组合全部排一遍序号那样角度计算就会完全错乱多边形根本不可能闭合。这是整个雷达图实现里最核心的一个技术点。我第一次做的时候因为没有设置表计算依据图形把两个产品的点混在一起形成了一堆乱七八糟的线条排查了一个多小时才发现是这里的问题。4. 画布绘制与轴对齐4.1 字段布局与标记类型计算字段全部建好后开始搭建视图。新建一个工作表按下面的表格放置字段位置放置字段说明列X坐标直接拖入即可行Y坐标直接拖入即可标记类型多边形关键多边形会自动闭合路径索引定义顶点连接顺序需配置表计算颜色产品多系列区分用标签评估维度显示顶点名称工具提示产品、评估维度、得分自定义悬浮信息标记类型要选择多边形而不是线或者区域。多边形是Tableau专门用来绘制闭合区域的标记类型它会自动把最后一个点连回第一个点形成封闭形状。如果用线标记类型最后一个点和第一个点之间不会闭合图形会缺一条边看起来像被切掉一角。另外路径上的索引字段必须是表计算字段且计算依据与X/Y坐标保持一致。路径字段决定了多边形顶点之间的连接顺序如果顺序错乱图形会像一团乱麻。4.2 坐标轴范围锁定图形不变形的关键雷达图最常见的视觉问题是圆形变成椭圆。原因很简单Tableau默认让X轴和Y轴的刻度范围独立适应数据。如果X轴范围是-100到100Y轴范围是-80到80那么同一个100单位在X轴和Y轴上对应的屏幕长度不一样圆形就被拉成椭圆菱形变成扁菱形。解决办法是手动固定两个轴的范围。在视图里右键X轴选择编辑轴把范围设置为固定固定开始填-120固定结束填120。Y轴同样设置成-120到120。为什么用120而不是100因为得分上限是100留出20的边距给标签和顶点避免图形边缘贴到坐标轴边界。如果得分体系是7分制就把范围定为-8.5到8.5之类的对称区间核心原则是最小值和最大值必须对称且X/Y两个轴的数值区间完全一致。完成之后还可以把坐标轴的标题隐藏让画面更干净。右键轴标题取消显示标题即可。很多时候我甚至会把整个轴隐藏掉只留网格线这样雷达图看起来更纯粹。4.3 网格线与背景设置设置坐标轴范围之后图形区域会显示默认的网格线。右键图形区域的空白处选择设置格式可以调整网格线的颜色和样式。雷达图的网格和普通柱状图的网格不太一样它是坐标平面的网格因为X/Y轴已经对称视觉上会形成方形网格。如果整个雷达图区域是正方形的方形网格看起来也还算协调如果画布被拉伸成矩形方形网格就不太对味了。因此建议再顺手设置一些外观属性让视图更接近等比例的视觉感受。网格线的颜色建议使用浅灰色样式改成虚线。实线网格容易喧宾夺主与雷达图的多边形线条争抢注意力虚线更清爽。提示如果希望雷达图的网格线是圆弧形的那就不能用默认网格线需要额外做背景层这个在后面的进阶方案里单独讲。4.4 多系列对比的实现刚才的字段布局里颜色放的是产品。当有两个产品时Tableau会在同一张图上绘制两个多边形各自有独立的索引和坐标计算。因为表计算设置是将评估维度作为计算维度、产品作为分区的所以两个产品的顶点顺序互不干扰。多系列雷达图的要点是颜色区分必须明显。我一般把第一个系列设为纯蓝、第二个系列设为纯橙或者在Tableau自带的Tableau 10配色里选对比强的一组。同时可以把多边形的填充透明度调低一些让两个多边形重叠时仍能看到下方图形的轮廓。如果需要对比的是三个以上产品雷达图的辨识度会明显下降多边形互相嵌套、颜色混杂很难一眼看出差异。这种情况下我建议做小多张也就是用横排或网格布局分别展示每个产品的雷达图而不是硬把三五个多边形叠在一张图上。5. 美化、标签与动态交互5.1 颜色、标签与工具提示雷达图做出来之后默认的外观比较朴素还需要做一轮美化。图形本身的颜色单系列雷达图我建议把填充透明度设为40%到50%轮廓线颜色加深。透明填充的好处是反映雷达图的几何美感顶点的轮廓线清晰可见内部区域又不至于大面积遮盖网格。多系列对比时透明度更低一些30%左右保证底层图形不会被完全盖住。标签的设置也很关键。把评估维度拖到标签标记每个顶点旁边会显示维度名称。默认的标签位置是自动通常表现不错如果觉得标签和坐标网格线重叠可以把标签位置设为外部或中心也可以手动微调标签的对齐方式。有人喜欢在每个维度上同时显示维度和得分比如价格力 72这需要把标签表达式改成类似[评估维度] STR([得分])注意这里[得分]需要用STR()转成字符串拼接不然Tableau会报类型不匹配。如果得分本身是聚合字段最好在公式里用SUM([得分])。工具提示是很多人在雷达图里忽略的细节。默认工具提示显示的是字段名和坐标值不够友好。我通常会自定义工具提示做成产品新品A维度价格力得分72/100这样的格式。点击标记卡上的工具提示把默认内容清空用字段插入功能重新拼一段说明文字即可。5.2 背景网格的快速方案前面讲了Tableau自带的网格线是方形网格。如果你能接受那雷达图配上方形网格已经足够清晰。但如果想追求更接近教科书的圆形同心圆网格有两条路线。快速路线是把坐标轴固定好在设置格式里把网格线设置为10段或者20段。由于X/Y轴范围对称相等方形网格看起来实际上像一个等距网格背景。这种方案虽然不够圆润但实现成本最低而且信息已经足够清楚。大部分实战场景里我都是用这个方案交付的。进阶路线是准备一张辅助网格数据表单独画一个多层同心圆多边形然后把雷达图叠加在网格图之上。具体做法是用Excel生成一份网格表包含若干圈同心圆数据每圈36个点36个点连起来近似一个圆。每行记录包括网格圈层编号、点序号、该点的X坐标、Y坐标。比如画4个同心圆半径分别为20、40、60、80每圈36个点总共144行数据。在Tableau里用这份网格表单独建一个工作表标记类型设为多边形路径用点序号颜色用圈层编号就画出了4个同心圆。然后打开雷达图工作表把雷达图的多边形和网格同心圆放到同一张图里。这一步的关键是让网格图和雷达图使用完全相同的坐标轴范围这样同心圆才和雷达顶点对齐。实际操作中还要设置网格图的坐标轴标题隐藏、网格线关闭仅剩下几个同心圆多边形作为背景。这个方案比默认网格线好看很多但要额外构造数据表还要处理坐标轴对齐问题。如果项目时间紧直接用方形网格足够应付90%的汇报场景。只有在要求特别高的对外展示或方案评审中我才会花心思做圆形网格。5.3 动态参数与仪表板交互雷达图如果作为固定指标看板的一部分通常是静态的。但Tableau的优势在于交互如果能动起来整个看板的体验会上一个台阶。维度数量参数可以直接显示为控件。右键参数维度数量选择显示参数控件仪表板或工作表顶部会出现一个滑块。拖动滑块雷达图的顶点数量会动态变化。前提是数据里确实包含足够多的维度。如果数据里只有5个维度把参数调到8画布里会有3个维度因为没有数据而无法显示。所以参数控件最好和数据集的维度数量配套或者干脆限制参数范围。产品筛选器是另一个高频交互控件。把产品字段拖到筛选器选择多选自定义列表用户可以自由勾选对比哪些产品。此时需要注意表计算在筛选器生效后会重新计算INDEX()会在筛选后的数据分区上重新排序只要数据维度完整就不受影响。把雷达图放入仪表板时建议控制图形区域的宽高比接近1:1避免画布比例不一致导致雷达图被压扁。Tableau仪表板的容器拉伸会让视图变形可以在布局设置里固定工作表的高度和宽度。5.4 多工作表组合与对比还有一种常见的展示需求单独展示每个产品的雷达图而不是把所有产品叠在一张图上。Tableau没有原生的按产品分页雷达图切换能力但可以用两种方式实现。第一种是仪表板筛选器。在仪表板里放一个产品筛选器用户选择一个产品雷达图就显示该产品的雷达轮廓。这种方式交互感强但同一时刻只能看到一个产品不方便直接对比。第二种是工作表网格。利用Tableau的在行/列中显示字段功能把产品字段拖到行或列容器上Tableau会自动生成一屏多个雷达图的网格布局。每个格子一个产品多产品同时对比效果很好。我实际做过一个五个产品的雷达图对比看板就是把产品放到列容器上横向排开五个小雷达图每个图只突出一个产品的多边形下面配关键指标卡片。这种布局比叠罗汉式的大杂烩要干净得多也完全符合清爽的审美。6. 常见坑与排查实录6.1 图形线条乱窜这是雷达图初学者遇到最多的问题。图形不是一个规则的多边形而是像蜘蛛网一样交织的线条或者多个顶点连线乱跳。排查顺序检查标记类型是否为多边形。如果是线线条不会闭合容易显得乱。检查路径字段是否为索引且编辑表计算的计算依据是否勾选了评估维度。检查X坐标和Y坐标的表计算设置是否与路径字段一致。检查维度排序是否正确。如果维度没有按业务逻辑排序顶点会跳跃图形形态会扭曲。其中90%的问题出在路径字段上。路径字段一旦缺失或配置错误Tableau会按照数据源顺序把点连起来很可能从一个产品的最后一个维度直接连到另一个产品的第一个维度图形自然炸裂。6.2 图形变成椭圆坐标轴范围不一致是椭圆问题的唯一原因。处理办法是固定X轴和Y轴的开始值与结束值保证两者完全相等。如果得分上限是100两个轴都设为-120到120如果上限是50都设为-60到60。轴上还有一个隐藏细节即使数值范围相同如果Tableau的画布宽高比例不是1:1视觉上也会变形。在仪表板里尽量把雷达图工作表的宽高设置成正方形或接近正方形否则一个完美的圆也会被压成椭圆。6.3 数据空值导致图形断裂如果某个产品在某个维度上得分缺失坐标计算会返回Null雷达图上对应的顶点消失多边形会被切割成残缺形状。解决办法是在计算字段里用IFNULL或ZN处理。把得分字段的公式从SUM([得分])改成ZN(SUM([得分]))ZN会把Null替换成0。但要注意用0填充后该顶点会贴在圆心位置从图形上看这个维度就是明显的凹陷点。这种方式在某些场景下是合理的如果业务上希望缺失维度表现为零点的话。如果不希望显示缺项也可以直接用IFNULL把得分替换为基准值比如50分表示中性水平。6.4 聚合报错Cannot mix aggregate and non-aggregate这是Tableau计算字段里非常经典的一个报错。出现这个报错通常是因为计算字段中混用了聚合和非聚合表达式。雷达图场景里如果X坐标公式写成COS([角度弧度]) * [得分]这里[得分]是非聚合字段而COS([角度])是表计算Tableau无法直接确定聚合粒度就会报无法混合聚合和非聚合。解决办法就是让所有参与坐标计算的字段都统一为聚合形式。比如把[得分]改成SUM([得分])。同理如果表计算部分想用MAX或者AVG包裹也可以但要保持前后一致。6.5 多系列雷达图数据源使用技巧多系列雷达图对数据源有个基本要求产品的维度和维度数量必须完全一致。如果产品A有5个维度产品B只有4个维度两个多边形的顶点数不同形状对比没有意义。此外多系列时所有计算字段的表计算都必须固定分区为产品。每新增一个产品字段的筛选器都要重新验证一遍表计算是否仍然正确。我在实际项目中踩过的坑是某个筛选器会打乱INDEX()的计算依据导致图形重新变得混乱。6.6 版本差异与可视化细节Tableau不同版本在标记类型、表计算界面的展示略有差异但核心逻辑一致。如果坐标轴固定范围之后标签和顶点重叠、遮挡可以尝试加大范围边距。比如把固定结束从120调整到130给顶点标签更多空间。也可以直接在标签设置里把位置改为下方避开图形内部。另外雷达图的面积与指标好坏并无严格的正比关系图形面积只是视觉参考不要为了追求面积更大而扩大坐标范围。保持两个轴范围一致才是最重要的。写在最后的一个小技巧在Tableau里把雷达图做出来之后我养成了一个习惯每次画完会立即把X轴和Y轴的刻度数统一设置成一样的步长比如每20一格。这样网格线在视觉上完全对称雷达图的几何美感立刻提升一个档次。另一个我反复用的小技巧是在角度的计算字段里加上π/2的偏移也就是把公式变成(INDEX() - 1) * 2 * PI() / [维度数量] PI() / 2这样第一个维度会从正上方12点钟方向开始排列而不是从正右方3点钟方向开始。仪表板里的雷达图看上去更符合多数人的直觉尤其是做能力画像类场景时第一个维度放在正上方阅读体验更好。雷达图的制作过程虽然比现成的柱状图、折线图麻烦不少但一旦把数据结构和计算逻辑摸透这个图表类型完全可以进入你的固定工具箱。下次再有人问Tableau能不能画雷达图你就可以直接给他看这份方案然后看着他惊讶的表情。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑