Java uses wordcloud to generate word cloud

1.Introduce maven dependencies

<dependency>
   <groupId>com.kennycason</groupId>
   <artifactId>kumo-core</artifactId>
   <version>1.27</version>
</dependency>

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

2. Generate word cloud code

private static void createWordCountPic() throws IOException {
    
    
        FrequencyAnalyzer frequencyAnalyzer = new FrequencyAnalyzer();
        frequencyAnalyzer.setWordFrequenciesToReturn(600);
        frequencyAnalyzer.setMinWordLength(2);

        //引入中文解析器
        frequencyAnalyzer.setWordTokenizer(new ChineseWordTokenizer());
		//指定文本文件路径,生成词频集合
        final List<WordFrequency> wordFrequencyList = frequencyAnalyzer.load("D:\\新建文本文档.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(500));
        //设置字体的大小
        wordCloud.setFontScalar(new SqrtFontScalar(12, 45));

		//生成词云
        wordCloud.build(wordFrequencyList);
        wordCloud.writeToFile("E:\\wy.png");
    }

Guess you like

Origin blog.csdn.net/whatevery/article/details/122111749