手把手教你 Tableau 绘制折线图(四)

本文提供手把手教程,详细解释如何在 Tableau 中绘制电影数量变化及2015年票房折线图。内容包括数据格式转换、双轴图的制作以及标记窗口的使用,帮助读者掌握数据可视化技巧。

手把手教你 Tableau 绘制折线图

折线图是将整个视图中的各个数据点连接起来,通常用于显示数据随着时间变化的趋势,或者预测未来的值。

绘制电影数量变化折线图

数据展示

在这里插入图片描述

操作步骤

1、对「上映时间」进行格式转换;可以参考 Tableau 数据处理之数据格式转换

2、把维度「上映时间」拖拽到列功能区;

2、把度量「记录数」拖拽到列行能区;

3、拖拽「记录数」到标记卡的标签上;

4、右键 null 排除 null 值数据;

5、右击最大值为其添加注释,选择标记。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双轴折线图

绘制 2015 年电影数量和票房变化折线图

数据展示

在这里插入图片描述

操作步骤

1、对累计票房进行拆分,并重命名为「累计票房(万)」,参考 Tableau 数据处理之快速数据拆分

2、修改上映时间为日期格式,参考Tableau 数据处理之数据格式转换

3、拖拽维度「上映时间」到筛选器,选择「年」,只勾选 2015 年;

4、拖拽维度「上映时间」到列功能区,右击修改为“月”(不修改则只显示一个数据);

5、绘制 2015 年电影数量变化折线图,并显示标签;

6、拖拽维度「累计票房(万)」到度量窗口,此时「累计票房(万)」为度量;

7、拖拽度量「累计票房(万)」到行功能区,出现双轴;

8、拖拽度量「累计票房(万)」到标记“总计(累计票房(万))”的标签上;

9、把标签「总计(记录数)」“总计(累计票房(万))”的标记窗口拖拽出去,标签显示正常,

10、右键标记中的标签,点击设置格式,修改标签值显示格式。

在这里插入图片描述
注意
「上映日期」默认是按照“年”进行聚合的,我们需要修改为“月”,图表才会显示正常。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
标签格式修改
最终效果图

双轴折线图引申

步骤

1、在上图中右击坐标轴「累计票房(万)」,选择双轴。

image.png
在这里插入图片描述

标记窗口详解

在这里插入图片描述

以上图为例,我们可以清晰的看到「标记」中有 3 个窗口,分别为全部、总计(记录数)、总计(累计票房(万)),不同的标记窗口对应着不同的轴的折线图。

  • 全部:两个折线图会同时修改
  • 总计(记录数):只修改电影数量变化折线图(上)
  • 总计(累计票房(万)):只修改累计票房变化折线图(下)

我们在绘制双轴图时要选择对应的标记窗口。

### 使用 Python 和 Tableau 创建折线图 为了在 Tableau 中通过编程方式创建折线图,可以采用两种主要方法:一是使用 Tableau 的 REST API 进行自动化操作;二是借助 TabPy 将自定义脚本集成到 Tableau 工作表中。对于更复杂的图表定制需求,通常推荐第二种方案。 #### 方法一:使用 Tableau REST API 自动化工作簿发布流程 Tableau 提供了 RESTful Web Service 接口来管理服务器上的资源,包括上传新的工作簿文件。然而需要注意的是,REST API 并不直接支持绘制具体类型的图表,而是用于管理和部署已有的 viz 文件[^1]。 ```python import tableauserverclient as TSC server = 'https://your-tableau-server-url' username = 'your_username' password = 'your_password' new_workbook = TSC.WorkbookItem(name='Line Chart Workbook', project_id='project-id') with open('path_to_your_twbx_file.twbx', mode='rb') as file: new_workbook = server.workbooks.publish(new_workbook, file.read(), 'CreateNew') ``` 此代码片段展示了如何连接至 Tableau Server 或 Online,并上传预先构建好的 .twb(x) 文件,其中可能已经包含了所需的折线图配置。 #### 方法二:利用 TabPy 实现动态绘图功能 TabPy 是由 Tableau 开发的一个开源项目,允许用户将 Python 逻辑嵌入到 Tableau 计算字段内,从而实现实时计算和高级分析能力。要生成一条基于最新数据更新的折线图,可以通过编写 Python 函数并将其注册给 TabPy 来完成。 首先安装必要的软件包: ```bash pip install tabpy-client pandas matplotlib seaborn ``` 接着启动 TabPy 服务端程序(如果尚未运行),并将下面这段 Python 代码保存为 `line_chart.py`: ```python def create_line_chart(dataframe): import matplotlib.pyplot as plt fig, ax = plt.subplots() dataframe.plot(kind="line", x="Date", y=["Value"], ax=ax) plt.xticks(rotation=45) img_path = "/tmp/linechart.png" plt.savefig(img_path) with open(img_path,'rb') as f: return {'image':f.read()} ``` 最后,在 Tableau Desktop 上添加一个新的计算字段,输入如下表达式调用上述函数: ```sql SCRIPT_JSON( "from line_chart import * create_line_chart(pd.DataFrame({'Date':[str(d) for d in _arg1], 'Value':_arg2}))", ATTR([Date]), SUM([Sales]) )["image"] ``` 这种方法使得每次刷新视图时都会重新执行一次 Python 脚本来获取最新的销售趋势曲线图片[^3]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值