首頁 > 軟體

Java實現快速生成詞雲圖的範例程式碼

2023-02-22 06:00:30

“詞雲”一詞最早是由美國西北大學新聞學副教授、新媒體專業主任裡奇戈登(Rich Gordon)提出的。詞雲(Word Cloud),又稱文字雲、標籤雲(Tag Cloud)、關鍵詞雲(Keyword Cloud),是對文字資訊中一定數量的關鍵詞出現的頻率高低情況的一種視覺化展現方式,它一般是由文字資料中提取的詞彙組成某些彩色的圖形。

在網路上查了很多資料,如果用java原生的方式進行程式碼開發還是非常複雜的,需要一定的時間才能開發出來,費時費力,效果還不一定好。為此百度了大量資料,發現一個平臺“昂焱資料”(www.ayshuju.com),該平臺上的“程式碼工具”一欄有Java版的詞雲生成程式碼工具,簡單呼叫一下方法就可以生成詞雲圖,這裡將該程式碼工具的使用步驟做一下記錄。

第一步:下載並安裝jar到本地maven庫

登入該網站,在“程式碼工具”一欄找到“關鍵詞詞頻與詞雲圖生成”程式碼工具,程式碼工具如下圖所示:

下載該程式碼工具並解壓,雙擊“”執行,將提示的maven座標貼上到專案的pom檔案中即可。

第二步:將該jar包的maven座標貼上到專案的pom檔案中

第三步:完整的測試程式碼如下

package com.example.demo.test;

import com.angyan.tool.wordcloud.dto.WordCloudConfig;
import com.angyan.tool.wordcloud.util.WordCloudUtil;
import com.angyan.tool.wordcloud.wordcolud.WordCloudEngine;
import com.kennycason.kumo.CollisionMode;
import com.kennycason.kumo.bg.CircleBackground;
import com.kennycason.kumo.font.KumoFont;
import com.kennycason.kumo.font.scale.LinearFontScalar;
import com.kennycason.kumo.image.AngleGenerator;
import java.awt.*;

public class Test {
    public static void main(String[] args) {
        String content="全面推進鄉村振興是新時代建設農業強國的重要任務。要把人力投入、物力設定、財力保障都轉移到鄉村振興上來,全面推進產業、人才、文化、生態、組織「五個振興」。要認真貫徹落實中央一號檔案部署要求,堅持農業農村優先發展,堅持城鄉融合發展,強化科技創新和制度創新,堅決守牢確保糧食安全、防止規模性返貧等底線,紮實推進鄉村發展、鄉村建設、鄉村治理等重點工作。要抓緊抓好糧食和重要農產品穩產保供,加強農業基礎設施建設,強化農業科技和裝備支撐,鞏固拓展脫貧攻堅成果,推動鄉村產業高質量發展,拓寬農民增收致富渠道,紮實推進宜居宜業和美鄉村建設,健全黨組織領導的鄉村治理體系,強化政策保障和體制機制創新。";
        int size = 60;
        String outPath="D:\workplace\test\wordCloud.png";
        // --詞雲圖設定--
        WordCloudConfig wordCloudConfig = new WordCloudConfig();
        // 寬度(px畫素)
        wordCloudConfig.setWidth(300);
        // 高度(px畫素)
        wordCloudConfig.setHeight(300);
        // 碰撞模式
        wordCloudConfig.setCollisionMode(CollisionMode.PIXEL_PERFECT);
        // 調節詞雲的稀疏程度,越高越稀疏
        wordCloudConfig.setPadding(2);
        // 背景顏色
        wordCloudConfig.setBackgroundColor(new Color(0, 0, 0));
        // 詞雲形狀,如圓形,半徑為寬度的一半
        wordCloudConfig.setBackground(new CircleBackground(150));
        // 設定字型
        wordCloudConfig.setKumoFont(new KumoFont(new Font("楷體", Font.BOLD, 9)));
        // 字號的大小範圍,最小是多少,最大是多少
        wordCloudConfig.setFontScalar(new LinearFontScalar(9, 60));
        // 顏色模板,不同頻率的顏色會不同
        wordCloudConfig.setColorPalette(WordCloudEngine.buildRandomColorPalette(9));
        // 設定偏轉角,角度為0時,字型都是水平的
        wordCloudConfig.setAngleGenerator(new AngleGenerator(0, 0, 2));
        WordCloudUtil.getWordCloudPath(content,size,wordCloudConfig,outPath);
    }
}

執行後,會在“D:/workplace/test”下生成一張“wordCloud.png”圖片,具體效果如下:

到此這篇關於Java實現快速生成詞雲圖的範例程式碼的文章就介紹到這了,更多相關Java生成詞雲圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com