欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)快速生成詞云圖的示例代碼

 更新時間:2023年02月19日 14:22:55   作者:我要飛的更高  
詞云(Word?Cloud),又稱文字云、標簽云(Tag?Cloud)、關(guān)鍵詞云(Keyword?Cloud),是對文本信息中一定數(shù)量的關(guān)鍵詞出現(xiàn)的頻率高低情況的一種可視化展現(xiàn)方式。本文將用Java代碼實現(xiàn)快速生成詞云圖,需要的可以參考一下

“詞云”一詞最早是由美國西北大學新聞學副教授、新媒體專業(yè)主任里奇戈登(Rich Gordon)提出的。詞云(Word Cloud),又稱文字云、標簽云(Tag Cloud)、關(guān)鍵詞云(Keyword Cloud),是對文本信息中一定數(shù)量的關(guān)鍵詞出現(xiàn)的頻率高低情況的一種可視化展現(xiàn)方式,它一般是由文本數(shù)據(jù)中提取的詞匯組成某些彩色的圖形。

在網(wǎng)絡上查了很多資料,如果用java原生的方式進行代碼開發(fā)還是非常復雜的,需要一定的時間才能開發(fā)出來,費時費力,效果還不一定好。為此百度了大量資料,發(fā)現(xiàn)一個平臺“昂焱數(shù)據(jù)”(www.ayshuju.com),該平臺上的“代碼工具”一欄有Java版的詞云生成代碼工具,簡單調(diào)用一下方法就可以生成詞云圖,這里將該代碼工具的使用步驟做一下記錄。

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

登錄該網(wǎng)站,在“代碼工具”一欄找到“關(guān)鍵詞詞頻與詞云圖生成”代碼工具,代碼工具如下圖所示:

下載該代碼工具并解壓,雙擊“”執(zhí)行,將提示的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="全面推進鄉(xiāng)村振興是新時代建設農(nóng)業(yè)強國的重要任務。要把人力投入、物力配置、財力保障都轉(zhuǎn)移到鄉(xiāng)村振興上來,全面推進產(chǎn)業(yè)、人才、文化、生態(tài)、組織“五個振興”。要認真貫徹落實中央一號文件部署要求,堅持農(nóng)業(yè)農(nóng)村優(yōu)先發(fā)展,堅持城鄉(xiāng)融合發(fā)展,強化科技創(chuàng)新和制度創(chuàng)新,堅決守牢確保糧食安全、防止規(guī)模性返貧等底線,扎實推進鄉(xiāng)村發(fā)展、鄉(xiāng)村建設、鄉(xiāng)村治理等重點工作。要抓緊抓好糧食和重要農(nóng)產(chǎn)品穩(wěn)產(chǎn)保供,加強農(nóng)業(yè)基礎設施建設,強化農(nóng)業(yè)科技和裝備支撐,鞏固拓展脫貧攻堅成果,推動鄉(xiāng)村產(chǎn)業(yè)高質(zhì)量發(fā)展,拓寬農(nóng)民增收致富渠道,扎實推進宜居宜業(yè)和美鄉(xiāng)村建設,健全黨組織領導的鄉(xiāng)村治理體系,強化政策保障和體制機制創(chuàng)新。";
        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);
        // 調(diào)節(jié)詞云的稀疏程度,越高越稀疏
        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));
        // 設置偏轉(zhuǎn)角,角度為0時,字體都是水平的
        wordCloudConfig.setAngleGenerator(new AngleGenerator(0, 0, 2));
        WordCloudUtil.getWordCloudPath(content,size,wordCloudConfig,outPath);
    }
}

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

到此這篇關(guān)于Java實現(xiàn)快速生成詞云圖的示例代碼的文章就介紹到這了,更多相關(guān)Java生成詞云圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Log4j不同模塊輸出到不同的文件中

    Log4j不同模塊輸出到不同的文件中

    這篇文章主要介紹了Log4j不同模塊輸出到不同的文件中 的相關(guān)資料,需要的朋友可以參考下
    2016-08-08
  • 一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源

    一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源

    這篇文章主要介紹了一篇文章帶你搞定SpringBoot不重啟項目實現(xiàn)修改靜態(tài)資源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • SpringBoot+MinIO實現(xiàn)對象存儲方式

    SpringBoot+MinIO實現(xiàn)對象存儲方式

    這篇文章主要介紹了SpringBoot+MinIO實現(xiàn)對象存儲方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java中的Enum枚舉使用方法解析

    Java中的Enum枚舉使用方法解析

    這篇文章主要介紹了Java中的Enum枚舉使用方法解析,枚舉是一種數(shù)據(jù)類型,和int、double、string等類型相似,枚舉用于聲明一組命名的常數(shù),當一個變量有幾種可能的取值時,可以將它定義為枚舉類型,需要的朋友可以參考下
    2023-11-11
  • SpringDataRedis入門和序列化方式解決內(nèi)存占用問題小結(jié)

    SpringDataRedis入門和序列化方式解決內(nèi)存占用問題小結(jié)

    spring-data-redis是spring-data模塊的一部分,專門用來支持在spring管理項目對redis的操作,這篇文章主要介紹了SpringDataRedis入門和序列化方式解決內(nèi)存占用問題,需要的朋友可以參考下
    2022-12-12
  • SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法

    SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法

    線上系統(tǒng)的日志級別一般都是 INFO 級別,有時候需要查看 WARN 級別的日志,所以需要動態(tài)修改日志級別,微服務項目中使用 Nacos 作為注冊中心,我們可以監(jiān)聽 Nacos 配置,修改日志級別,這篇文章主要介紹了SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法,需要的朋友可以參考下
    2023-12-12
  • springboot配置多數(shù)據(jù)源(靜態(tài)和動態(tài)數(shù)據(jù)源)

    springboot配置多數(shù)據(jù)源(靜態(tài)和動態(tài)數(shù)據(jù)源)

    在開發(fā)過程中,很多時候都會有垮數(shù)據(jù)庫操作數(shù)據(jù)的情況,需要同時配置多套數(shù)據(jù)源,本文主要介紹了springboot配置多數(shù)據(jù)源(靜態(tài)和動態(tài)數(shù)據(jù)源),感興趣的可以了解一下
    2023-09-09
  • SpringBoot集成quartz實現(xiàn)定時任務詳解

    SpringBoot集成quartz實現(xiàn)定時任務詳解

    最為常用定時任務框架是Quartz,并且Spring也集成了Quartz的框架,Quartz不僅支持單實例方式還支持分布式方式。本文主要介紹Quartz,基礎的Quartz的集成案例本,以及實現(xiàn)基于數(shù)據(jù)庫的分布式任務管理和控制job生命周期
    2022-08-08
  • IDEA部署Tomcat的超詳細圖文教程

    IDEA部署Tomcat的超詳細圖文教程

    最近迫于無奈從我哪破舊的Eclipse轉(zhuǎn)換到了IDEA,然后就是超多的不習慣,下面這篇文章主要給大家介紹了關(guān)于IDEA部署Tomcat的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • springboot項目mysql-connector-java默認版本如何查看

    springboot項目mysql-connector-java默認版本如何查看

    這篇文章主要介紹了springboot項目mysql-connector-java默認版本如何查看問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論