java词云生成Kumo

1,先前在网上寻找Java词云生成包kumo 在gitthub上导入

1)核心包
<dependency>
    <groupId>com.kennycason</groupId>
    <artifactId>kumo-core</artifactId>
    <version>1.13</version>
</dependency>

2)语言包

<dependency>
    <groupId>com.kennycason</groupId>
    <artifactId>kumo-tokenizers</artifactId>
    <version>1.13</version>
</dependency>

2、导入之后发现缺少相应的包

特别是一个关于guavamini的包,网上也没找到

3、偶然发现一个kumo-wordCloud的主页

http://kennycason.com/posts/2014-07-03-kumo-wordcloud.html

4、采用下面kumo引用实现

<dependency> <groupId>com.kennycason</groupId> <artifactId>kumo</artifactId> <version>1.5</version> </dependency>

5、具体方法转载

https://blog.csdn.net/qq_36251958/article/details/79332056

      //建立词频分析器,设置词频,以及词语最短长度,此处的参数配置视情况而定即可
        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
        frequencyAnalyzer.setWordFrequenciesToReturn(600);
        frequencyAnalyzer.setMinWordLength(2);
 
        //引入中文解析器
        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
    //指定文本文件路径,生成词频集合
        final List<WordFrequency> wordFrequencyList = frequencyAnalyzer.load("E:\\爬虫/wordcloud.txt");
    //设置图片分辨率
        Dimension dimension = new Dimension(1920,1080);
    //此处的设置采用内置常量即可,生成词云对象
        WordCloud wordCloud = new WordCloud(dimension,CollisionMode.PIXEL_PERFECT);
        //设置边界及字体
    wordCloud.setPadding(2);
        java.awt.Font font = new java.awt.Font("STSong-Light", 2, 20);
    //设置词云显示的三种颜色,越靠前设置表示词频越高的词语的颜色
        wordCloud.setColorPalette(new LinearGradientColorPalette(Color.RED, Color.BLUE, Color.GREEN, 30, 30));
        wordCloud.setKumoFont(new KumoFont(font));
    //设置背景色
        wordCloud.setBackgroundColor(new Color(255,255,255));
    //设置背景图片
        //wordCloud.setBackground(new PixelBoundryBackground("E:\\爬虫/google.jpg"));
    //设置背景图层为圆形
    wordCloud.setBackground(new CircleBackground(255));
        wordCloud.setFontScalar(new SqrtFontScalar(12, 45));
    //生成词云
        wordCloud.build(wordFrequencyList);
        wordCloud.writeToFile("E:\\爬虫/wy.png");
 

猜你喜欢

转载自blog.csdn.net/baobaodehao1991/article/details/81990341