Java實現快速生成詞雲圖的示例代碼

“詞雲”一詞最早是由美國西北大學新聞學副教授、新媒體專業主任裡奇戈登(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生成詞雲圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: