溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java數(shù)據(jù)可視化庫Tablesaw是什么

發(fā)布時間:2020-09-08 10:51:11 來源:億速云 閱讀:246 作者:小新 欄目:編程語言

小編給大家分享一下Java數(shù)據(jù)可視化庫Tablesaw是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

HelloGitHub 推出的《講解開源項目》系列,今天給大家?guī)硪豢罨?Java 語言的數(shù)據(jù)可視化庫開源項目——Tablesaw

Tablesaw是一款 Java 的數(shù)據(jù)可視化庫。它主要包括兩部分:一部分是數(shù)據(jù)解析庫,另一部分是數(shù)據(jù)可視化庫。數(shù)據(jù)解析庫主要是加載數(shù)據(jù),對數(shù)據(jù)進行操作(轉(zhuǎn)化,過濾,匯總等)。數(shù)據(jù)可視化庫就是將目標數(shù)據(jù)轉(zhuǎn)化為可視化的圖表。

項目源碼地址:github.com/jtablesaw/t…

一、項目結(jié)構(gòu)

目錄說明:

  1. aggregate:maven 的項目父級項目,主要定義項目打包的配置。
  2. beakerx:tablesaw 庫的注冊中心,主要注冊表和列。
  3. core:tablesaw 庫的核心代碼,主要是數(shù)據(jù)的加工處理操作:數(shù)據(jù)的追加,排序,分組,查詢等。
  4. data:項目測試數(shù)據(jù)目錄。
  5. docs:項目 MarkDown 文檔目錄。
  6. docs-src:項目文檔源碼目錄,主要作用是生成 MarkDown 文檔。
  7. excel:解析 excel 文件數(shù)據(jù)的子項目。
  8. html:解析 html 文件數(shù)據(jù)的子項目。
  9. json:解析 json 文件數(shù)據(jù)的子項目。
  10. jsplot:數(shù)據(jù)可視化的子項目,主要作用加載數(shù)據(jù)生成可視化圖表。
  11. saw:tablesaw 讀寫圖表數(shù)據(jù)的子項目。

二、實戰(zhàn)操作

2.1 準備工作

項目中引入 Tablesaw 依賴包

<dependency>
    <groupId>tech.tablesaw</groupId>
    <artifactId>tablesaw-core</artifactId>
    <version>LATEST</version></dependency>復(fù)制代碼

2.2 數(shù)據(jù)解析

2.2.1 內(nèi)部數(shù)據(jù)制作數(shù)據(jù)表格
@Testpublic void tableSawTest6() {
	String[] students = {"小明", "李雷", "小二"};	double[] scores = {90.1, 84.3, 99.7};
	Table table = Table.create("學(xué)生分數(shù)統(tǒng)計表").addColumns(
					StringColumn.create("姓名", students),
					DoubleColumn.create("分數(shù)", scores));
	System.out.println(table.print());
}復(fù)制代碼

代碼超級簡單,首先定義要展示列數(shù)據(jù) students 和 scores。然后創(chuàng)建數(shù)據(jù)展示的 table 定義表格名稱,添加表格列數(shù)據(jù)即可。

效果展示如下:

2.2.2 加載數(shù)據(jù)文件制作數(shù)據(jù)表格
@Testpublic 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());
}復(fù)制代碼

首先 Table.read 加載數(shù)據(jù)文件,加載數(shù)據(jù)支持 csv、數(shù)據(jù)庫結(jié)果集、文件、URL 等

指定表格 x 軸的字段,并對 數(shù)據(jù)進行百分比數(shù)據(jù)的轉(zhuǎn)化。

bash.csv 文件內(nèi)容如下:

運行效果如下:

2.3 數(shù)據(jù)可視化

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

首先加載數(shù)據(jù) Table.read,繪制圖表 AreaPlot.create ,然后 Plot.show 在本地生成圖表的 html 頁面,自動打開瀏覽器顯示。

boston-robberies.csv 文件內(nèi)容如下:

運行效果如下:

Tablesaw 還可以繪制出很多種類的圖表,期待你的發(fā)掘。

三、最后

教程至此,你應(yīng)該對 Tablesaw 有一個簡單的了解。這里告訴大家一個方法,可以快速掌握開源庫:在源碼中找項目的單元測試代碼。然后,我們再將項目導(dǎo)入開發(fā)工具,直接運行項目中的單元測試。 這是可能是最快捷、有效的掌握、上手開源庫的方法。

本教程是針對有一定 Java 編程基礎(chǔ),如果你的項目正好需要數(shù)據(jù)可視化的庫,Tablesaw 庫是個不錯的選擇!

『講解開源項目系列』——讓對開源項目感興趣的人不再畏懼、讓開源項目的發(fā)起者不再孤單。跟著我們的文章,你會發(fā)現(xiàn)編程的樂趣、使用和發(fā)現(xiàn)參與開源項目如此簡單。歡迎留言聯(lián)系我們、加入我們,讓更多人愛上開源、貢獻開源~

以上是Java數(shù)據(jù)可視化庫Tablesaw是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI