超级好用的 Java 数据可视化库:Tablesaw

本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和使用 Tablesaw 项目。示例均在 Windows 操作系统下演示

本文作者:HelloGitHub-秦人

HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款基于 Java 语言的数据可视化库开源项目——Tablesaw

Tablesaw是一款 Java 的数据可视化库。它主要包括两部分:一部分是数据解析库,另一部分是数据可视化库。数据解析库主要是加载数据,对数据进行操作(转化,过滤,汇总等)。数据可视化库就是将目标数据转化为可视化的图表。

项目源码地址:https://github.com/jtablesaw/tablesaw

一、项目结构

目录说明:

  1. aggregate:maven 的项目父级项目,主要定义项目打包的配置。
  2. beakerx:tablesaw 库的注册中心,主要注册表和列。
  3. core:tablesaw 库的核心代码,主要是数据的加工处理操作:数据的追加,排序,分组,查询等。
  4. data:项目测试数据目录。
  5. docs:项目 MarkDown 文档目录。
  6. docs-src:项目文档源码目录,主要作用是生成 MarkDown 文档。
  7. excel:解析 excel 文件数据的子项目。
  8. html:解析 html 文件数据的子项目。
  9. json:解析 json 文件数据的子项目。
  10. jsplot:数据可视化的子项目,主要作用加载数据生成可视化图表。
  11. saw:tablesaw 读写图表数据的子项目。

二、实战操作

2.1 准备工作

项目中引入 Tablesaw 依赖包

<dependency>
    <groupId>tech.tablesaw</groupId>
    <artifactId>tablesaw-core</artifactId>
    <version>LATEST</version>
</dependency>

2.2 数据解析

2.2.1 内部数据制作数据表格

@Test
public void tableSawTest6() {
    String[] students = {"小明", "李雷", "小二"};
    double[] scores = {90.1, 84.3, 99.7};
    Table table = Table.create("学生分数统计表").addColumns(
                    StringColumn.create("姓名", students),
                    DoubleColumn.create("分数", scores));
    System.out.println(table.print());
}

代码超级简单,首先定义要展示列数据 students 和 scores。然后创建数据展示的 table 定义表格名称,添加表格列数据即可。

效果展示如下:

2.2.2 加载数据文件制作数据表格

@Test
public void tableSawTest10() throws Exception{
    Table table = Table.read().csv("/data/bush.csv");
    Table whoPercents = table.xTabPercents("who");
    whoPercents.columnsOfType(ColumnType.DOUBLE)
    .forEach(x -> ((NumberColumn) x).setPrintFormatter(
        NumberColumnFormatter.percent(0)));
    System.out.println(whoPercents.toString());
}

首先 Table.read 加载数据文件,加载数据支持 csv、数据库结果集、文件、URL 等

指定表格 x 轴的字段,并对 数据进行百分比数据的转化。

bash.csv 文件内容如下:

运行效果如下:

2.3 数据可视化

Table robberies = Table.read().csv("./data/boston-robberies.csv");
Plot.show(
    AreaPlot.create(
        "Boston Robberies by month: Jan 1966-Oct 1975",
        robberies, "Record", "Robberies"));

首先加载数据 Table.read,绘制图表 AreaPlot.create ,然后 Plot.show 在本地生成图表的 html 页面,自动打开浏览器显示。

boston-robberies.csv 文件内容如下:

运行效果如下:

Tablesaw 还可以绘制出很多种类的图表,期待你的发掘。

三、最后

教程至此,你应该对 Tablesaw 有一个简单的了解。这里告诉大家一个方法,可以快速掌握开源库:在源码中找项目的单元测试代码。然后,我们再将项目导入开发工具,直接运行项目中的单元测试。 这是可能是最快捷、有效的掌握、上手开源库的方法。

本教程是针对有一定 Java 编程基础,如果你的项目正好需要数据可视化的库,Tablesaw 库是个不错的选择!



『讲解开源项目系列』——让对开源项目感兴趣的人不再畏惧、让开源项目的发起者不再孤单。跟着我们的文章,你会发现编程的乐趣、使用和发现参与开源项目如此简单。欢迎留言联系我们、加入我们,让更多人爱上开源、贡献开源~

原文地址:https://www.cnblogs.com/xueweihan/p/11721955.html

时间: 2024-11-07 18:07:49

超级好用的 Java 数据可视化库:Tablesaw的相关文章

数据可视化库-Matplotlib基本操作

python-3.7     pycharm matplotlib 2.2.3 """ 数据可视化库-Matplotlib 时间:2018\9\12 0012 """ import numpy as np import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt print("""\n-------------------

Python数据可视化库-Matplotlib(一)

今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废话不多说,我们直接通过例子来进行讲解. 首先我们有一组数据如下: 我们可以看到,这组数据有日期,还有日期对应的值,因为这组数据中的日期格式不是标准的日期格式 那么我们对数据做一下转换,取1948年的整年的数据,来进行一个绘图操作 import pandas as pd unrate = pd.rea

实战大数据可视化库:D3.js

实战大数据可视化库:D3.js网盘地址:https://pan.baidu.com/s/1Sir6qnU7Hdz5l3IHNjdNEQ 提取码:vmdi D3.js 是一个 JavaScript 库,它主要用于对数据的动态图表展示.通过 HTML.SVG 以及 CSS,D3 可以让数据展现得更加鲜活.D3 使得数字的图形化展示变得异常单,可以说,它是当下最强大的基于网络的数据可视化技术. 本教程理论与实践结合,力图向读者全方位地展示 D3 大数据可视化技术,帮助读者快速利用 D3 创建可视化程序

基于Python的数据可视化库pyecharts介绍

什么是pyecharts? pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生成 Echarts 图表的类库.实际上就是 Echarts 与 Python 的对接. 使用 pyecharts 可以生成独立的网页,也可以在 flask , Django 中集成使用.pyecharts包含的图表 Bar .Bar3D.Boxplot.EffectScatter .Funnel.G

55种开源数据可视化工具简介

55种开源数据可视化工具简介 雪姬 2015-04-21 11:47:56 数据可视化 评论(2)   数据时代数据可视化成为理解和表达数据的有效甚至是唯一的手段. 一共56个,盘点最实用的大数据可视化分析工具 工欲善其事必先利其器,本文对55个流行的数据可视化工具开源协议,主页,文档,案例等资源的进行简单介绍,其中包括著名的D3.js,R,Gephi,Raphaël,Processing.js,Tableau Public,Google Chart Tools,Arbor.js等,资料来源ht

【55种开源数据可视化工具简介】

大数据时代数据可视化成为理解和表达数据的有效甚至是唯一的手段. 工欲善其事必先利其器,本文对55个流行的数据可视化工具开源协议,主页,文档,案例等资源的进行简单介绍,其中包括著名的D3.js,R,Gephi,Rapha?l,Processing.js,Tableau Public,Google Chart Tools,Arbor.js等,资料来源http://selection.datavisualization.ch/ 下面安照字母顺序进行介绍(已更新至第11个,未完待续--) 1 Arbor

d3.js:数据可视化利器之快速入门

hello,data! 在进入d3.js之前,我们先用一个小例子回顾一下将数据可视化的基本流程. 任务 用横向柱状图来直观显示以下数据: var data = [10,15,23,78,57,29,34,71]; 简单地思考一下,要完成这个任务有两个问题需要解决: 用什么可视元素来表现横向柱? 数据对应到可视元素的什么属性? 这个不算困难,我们使用HTML的DIV元素来实现,代码参见http://www.hubwiz.com/course/54fd40cfe564e50d50dcf284/:快速

图表控件,数据可视化,你真的选对了吗?

数据可视化主要是借助图形化的方法,清晰有效的展示数据,让关系繁杂的数据变得一目了然,大数据量呈现变得明显,数据内在关系变得明确清晰.一般数据可视化库包含2D XY 图表,3D XYZ图表,极坐标图,史密斯圆图,GIS地图等功能.不同的图表在不同的行业起着不同的作用,比如在科学与工程应用,它可以用来做实时测量数据监测,多通道波形显示,音频和数字信号处理.在制作&状态监测应用中,支持FFT 和光谱可视化,2D和3D光谱图,装配线质量监测.在能源生产&分配应用中,显示石油钻探和机械振动指标,电厂

[资料搜集狂]D3.js数据可视化开发库

偶然看到一个强大的D3.js,存档之. D3.js 是近年来十分流行的一个数据可视化开发库. 采用BSD协议 源码:https://github.com/mbostock/d3 官网:http://d3js.org/ 中文资料:http://www.ourd3js.com/ C3.js是一个基于D3.js的图表库. https://github.com/masayuki0812/c3 http://c3js.org/ 附: