Tableau图表 • 环状条形图(radial bar chart)

本文介绍了如何在Tableau中创建环状条形图,也称为跑道图。环状条形图比传统饼图和条形图更具视觉冲击力。通过创建辅助数列、计算字段以及调整图表设置,逐步展示了使用Tableau超市数据集制作环状条形图的完整过程。

环状条形图(radial bar chart),又称跑道图,在pulic上比较多见,它比传统的饼图或者条形图更具有视觉冲击力,就像下面这样:
图:环状条形图示例

环状条形图的创建相对于饼图和条形图而言,还是复杂了一点,特别是像我这样数学不好的学生,对涉及到的数学知识完全不理解,不过没关系,这些就交给tableau大神们去研究,我这样的小菜鸟只需要照葫芦画瓢,知道怎么用就行。下面,我们就使用tableau自带的超市数据集,一步步去创建环状条形图。

创建辅助数列

首先,打开excel表,创建一列path辅助数据,输入0270两个数值,并保存为辅助表,如下:

图:创建辅助数据示例

然后,在tableau中添加辅助表,并通过创建联接字段与超市数据集进行关联,如下:

图:创建联接字段示例

创建计算字段

首先,创建path字段的数据桶,并将数据桶大小设置为1,如下:

Tableau 中创建百分比堆积条形图是一种有效的可视化方式,可以用于展示多个数据序列在整体中的相对比例。以下是详细的步骤和注意事项: ### 创建百分比堆积条形图 1. **准备数据** 确保数据中包含以下字段: - 一个分类维度(如时间、地区、类别等)。 - 多个数据序列(如不同的运输方式、产品类别等)。 - 每个数据序列的数值(通常是计数或总和)。 2. **导入数据并进入工作表** 在 Tableau 中导入数据后,进入工作表界面。 3. **设置维度和度量** - 将分类维度(如“年份”或“地区”)拖到“列”功能区。 - 将需要展示的度量(如“数量”或“销售额”)拖到“行”功能区。 4. **添加堆积字段** - 将需要堆积的字段(如“运输方式”或“类别”)从“维度”区域拖到“标记”卡中的“颜色”选项。 - 此时,图表将自动转换为堆积条形图。 5. **切换到百分比视图** - 在“行”功能区的度量上点击右键,选择“快速表计算” -> “百分比总计”。 - 这样可以将堆积条形图的每个部分转换为百分比形式,确保每个条形的总和为100%。 6. **调整图表格式** - 在“标记”卡中,可以选择不同的颜色方案来区分堆积部分。 - 如果需要,可以通过“工具提示”选项调整提示内容,使其显示百分比数值。 ### 优化百分比堆积条形图 1. **调整颜色和标签** - 在“标记”卡中,调整颜色以提高可读性。 - 启用数据标签,确保每个堆积部分显示具体的百分比数值。 2. **筛选和排序** - 如果数据量较大,可以通过筛选器限制显示的分类维度。 - 对数据进行排序,使图表更具逻辑性。 3. **使用双轴或分面** - 如果需要比较多个维度(如不同年份的数据),可以使用分面功能将图表拆分为多个子图。 - 对于更复杂的分析,可以尝试双轴图表,叠加其他类型的可视化。 4. **动态交互** - 在仪表板中,可以通过添加交互式筛选器,让用户动态选择不同的维度或数据序列。 ### 示例代码(Python + Matplotlib) 如果需要使用 Python 的 Matplotlib 创建百分比堆积条形图,可以参考以下代码: ```python import matplotlib.pyplot as plt import numpy as np # 示例数据 categories = ['A', 'B', 'C', 'D'] values1 = [23, 45, 12, 67] values2 = [34, 30, 45, 23] values3 = [15, 25, 34, 30] # 计算总和 total = np.array(values1) + np.array(values2) + np.array(values3) # 计算百分比 percent1 = np.array(values1) / total * 100 percent2 = np.array(values2) / total * 100 percent3 = np.array(values3) / total * 100 # 绘制百分比堆积条形图 plt.figure(figsize=(10, 6)) plt.bar(categories, percent1, label='Category 1', color='skyblue') plt.bar(categories, percent2, bottom=percent1, label='Category 2', color='lightgreen') plt.bar(categories, percent3, bottom=percent1 + percent2, label='Category 3', color='salmon') # 添加标签和标题 plt.xlabel('Categories') plt.ylabel('Percentage (%)') plt.title('Percentage Stacked Bar Chart') plt.legend() plt.show() ``` ### 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值