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");