OMG! Java資料視覺化函式庫Tablesaw!
相關學習推薦:java基礎教學
#本文適合剛學習完Java 語言基礎的人群,跟著本文可了解並使用Tablesaw 專案。範例皆在Windows 作業系統下示範
HelloGitHub 推出的《講解開源專案》系列,今天帶給大家一款基於Java 語言的資料視覺化庫開源專案-Tablesaw
Tablesaw是一款Java 的資料視覺化函式庫。它主要包括兩個部分:一部分是資料解析庫,另一部分是資料視覺化庫。數據解析庫主要是載入數據,對數據進行操作(轉化,過濾,匯總等)。資料視覺化庫就是將目標資料轉化為視覺化的圖表。
專案原始碼位址:github.com/jtablesaw/t…

一、專案結構

目錄說明:
- #aggregate:maven 的專案父級項目,主要定義專案包裝的配置。
- beakerx:tablesaw 庫的註冊中心,主要註冊表和列。
- core:tablesaw 函式庫的核心程式碼,主要是資料的加工處理作業:資料的追加,排序,分組,查詢等。
- data:專案測試資料目錄。
- docs:專案 MarkDown 文件目錄。
- docs-src:專案文件原始碼目錄,主要功能是產生 MarkDown 文件。
- excel:解析 excel 檔案資料的子項目。
- html:解析 html 檔案資料的子項目。
- json:解析 json 檔案資料的子項目。
- jsplot:資料視覺化的子項目,主要作用載入資料產生視覺化圖表。
- saw:tablesaw 讀寫圖表資料的子項目。
二、實戰操作
2.1 準備工作
#專案中引入Tablesaw 依賴套件
<dependency> <groupId>tech.tablesaw</groupId> <artifactId>tablesaw-core</artifactId> <version>LATEST</version></dependency>复制代码
2.2 資料解析
2.2.1 內部資料製作資料表
@Testpublic 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 載入資料檔案製作資料表
@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()); }复制代码
首先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 函式庫是個不錯的選擇!
『講解開源專案系列』——讓對開源專案有興趣的人不再畏懼、讓開源專案的發起者不再孤單。跟著我們的文章,你會發現程式設計的樂趣、使用和發現參與開源專案如此簡單。歡迎留言聯絡我們、加入我們,讓更多人愛上開源、貢獻開源~
#想了解更多程式設計學習,請關注php培訓欄位!
以上是OMG! Java資料視覺化函式庫Tablesaw!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Java 8引入了Stream API,提供了一種強大且表達力豐富的處理數據集合的方式。然而,使用Stream時,一個常見問題是:如何從forEach操作中中斷或返回? 傳統循環允許提前中斷或返回,但Stream的forEach方法並不直接支持這種方式。本文將解釋原因,並探討在Stream處理系統中實現提前終止的替代方法。 延伸閱讀: Java Stream API改進 理解Stream forEach forEach方法是一個終端操作,它對Stream中的每個元素執行一個操作。它的設計意圖是處

PHP是一種廣泛應用於服務器端的腳本語言,特別適合web開發。 1.PHP可以嵌入HTML,處理HTTP請求和響應,支持多種數據庫。 2.PHP用於生成動態網頁內容,處理表單數據,訪問數據庫等,具有強大的社區支持和開源資源。 3.PHP是解釋型語言,執行過程包括詞法分析、語法分析、編譯和執行。 4.PHP可以與MySQL結合用於用戶註冊系統等高級應用。 5.調試PHP時,可使用error_reporting()和var_dump()等函數。 6.優化PHP代碼可通過緩存機制、優化數據庫查詢和使用內置函數。 7

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

膠囊是一種三維幾何圖形,由一個圓柱體和兩端各一個半球體組成。膠囊的體積可以通過將圓柱體的體積和兩端半球體的體積相加來計算。本教程將討論如何使用不同的方法在Java中計算給定膠囊的體積。 膠囊體積公式 膠囊體積的公式如下: 膠囊體積 = 圓柱體體積 兩個半球體體積 其中, r: 半球體的半徑。 h: 圓柱體的高度(不包括半球體)。 例子 1 輸入 半徑 = 5 單位 高度 = 10 單位 輸出 體積 = 1570.8 立方單位 解釋 使用公式計算體積: 體積 = π × r2 × h (4

PHP適合web開發,特別是在快速開發和處理動態內容方面表現出色,但不擅長數據科學和企業級應用。與Python相比,PHP在web開發中更具優勢,但在數據科學領域不如Python;與Java相比,PHP在企業級應用中表現較差,但在web開發中更靈活;與JavaScript相比,PHP在後端開發中更簡潔,但在前端開發中不如JavaScript。

PHP和Python各有優勢,適合不同場景。 1.PHP適用於web開發,提供內置web服務器和豐富函數庫。 2.Python適合數據科學和機器學習,語法簡潔且有強大標準庫。選擇時應根據項目需求決定。

Java是熱門程式語言,適合初學者和經驗豐富的開發者學習。本教學從基礎概念出發,逐步深入解說進階主題。安裝Java開發工具包後,可透過建立簡單的「Hello,World!」程式來實踐程式設計。理解程式碼後,使用命令提示字元編譯並執行程序,控制台上將輸出「Hello,World!」。學習Java開啟了程式設計之旅,隨著掌握程度加深,可創建更複雜的應用程式。
