Tablesaw项目中的散点图与气泡图可视化指南
tablesaw Java dataframe and visualization library 项目地址: https://gitcode.com/gh_mirrors/tab/tablesaw
引言
在数据分析和可视化领域,散点图是最基础且强大的工具之一。Tablesaw作为一款优秀的Java数据分析库,提供了丰富的可视化功能。本文将深入讲解如何使用Tablesaw创建2D/3D散点图和气泡图,帮助读者掌握多维数据的可视化技巧。
基础2D散点图
我们从最简单的二维散点图开始,使用香槟酒数据集展示年份与零售价格的关系。
// 加载并过滤数据
Table wines = Table.read().csv("wine_test.csv");
Table champagne = wines.where(
wines.stringColumn("wine type").isEqualTo("Champagne & Sparkling")
.and(wines.stringColumn("region").isEqualTo("California")));
// 创建散点图
Plot.show(
ScatterPlot.create("Champagne prices by vintage",
champagne, "mean retail", "vintage"));
这种基础图表虽然简单,但已经能够清晰展示两个数值变量间的相关性。x轴表示年份(vintage),y轴表示平均零售价格(mean retail)。
添加第三个变量
分类变量分组
我们可以通过颜色编码添加第三个分类变量:
Plot.show(
ScatterPlot.create("Wine prices and ratings",
wines, "Mean Retail", "highest pro score", "wine type"));
图表右侧的图例不仅标识了不同颜色对应的酒类,还支持交互式显示/隐藏特定类别。
数值变量表示
对于第三个数值变量,Tablesaw提供两种可视化方案:
- 气泡图 - 用气泡大小表示第三个变量
- 3D散点图 - 用z轴表示第三个变量
气泡图实现
Plot.show(
BubblePlot.create("Average retail price for champagnes by vintage and rating",
champagne,
"highest pro score", // x轴
"vintage", // y轴
"Mean Retail")); // 气泡大小
默认情况下,数值映射到气泡的直径。高级用户可以通过自定义图表改为映射到面积。
3D散点图实现
Plot.show(
Scatter3DPlot.create("Average retail price for champagnes by vintage and rating",
champagne,
"highest pro score", // x轴
"vintage", // y轴
"Mean Retail")); // z轴
3D图表支持旋转、平移和缩放交互,悬停时会显示数据标签和坐标轴参考线。
四变量可视化
我们可以进一步添加第四个变量(分类变量):
// 气泡图版本
Plot.show(
BubblePlot.create("Average retail price for champagnes by vintage and rating",
champagne,
"highest pro score",
"vintage",
"Mean Retail",
"appellation")); // 第四个分类变量
// 3D散点图版本
Plot.show(
Scatter3DPlot.create("Average retail price for champagnes by vintage and rating",
champagne,
"highest pro score",
"vintage",
"Mean Retail",
"appellation"));
五变量高级可视化
Tablesaw甚至支持五个变量的可视化,在3D散点图基础上,用点的大小表示第五个数值变量:
Plot.show(
Scatter3DPlot.create("High & low retail price for champagne by vintage and rating",
champagne,
"vintage", // x轴
"highest pro score", // y轴
"highest retail", // z轴
"lowest retail", // 点大小
"appellation")); // 颜色分类
最佳实践与注意事项
- 变量选择:将最重要的变量放在x/y轴,次要变量用大小/颜色表示
- 避免过度可视化:超过5个变量的图表可能难以解读
- 交互功能:充分利用旋转、缩放等交互功能探索3D数据
- 图例使用:确保图例清晰,必要时限制分类数量
- 性能考虑:大数据集时考虑采样或使用2D图表
结语
Tablesaw提供了从简单到复杂的多维数据可视化解决方案。通过本文介绍的各种散点图和气泡图变体,数据分析师可以有效地探索和展示数据中的复杂关系。对于更高级的需求,Tablesaw还支持完全自定义的可视化方案,为专业用户提供了充分的灵活性。
记住,好的可视化不在于展示多少变量,而在于能否清晰传达数据背后的洞见。根据你的分析目标,选择最合适的图表类型和变量组合。
tablesaw Java dataframe and visualization library 项目地址: https://gitcode.com/gh_mirrors/tab/tablesaw
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考