Skip to content

Instantly share code, notes, and snippets.

@galleon
Last active April 11, 2016 19:26
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save galleon/5d48e8cec78582b01c0e to your computer and use it in GitHub Desktop.
Save galleon/5d48e8cec78582b01c0e to your computer and use it in GitHub Desktop.
WordCloud
import wordcloud.PolarWordCloud
import wordcloud.CollisionMode
import wordcloud.PolarBlendMode
import wordcloud.bg.CircleBackground
import wordcloud.bg.PixelBoundryBackground
import wordcloud.bg.RectangleBackground
import wordcloud.font.CloudFont
import wordcloud.font.FontWeight
import wordcloud.font.scale.LinearFontScalar
import wordcloud.font.scale.SqrtFontScalar
import wordcloud.nlp.FrequencyAnalizer
import wordcloud.nlp.tokenizer.ChineseWordTokenizer
import wordcloud.palette.ColorPalette
import org.apache.commons.codec.binary.Base64
import java.net.URL
import java.io.ByteArrayOutputStream
import javax.imageio.ImageIO
val frequencyAnalizer = new FrequencyAnalizer()
frequencyAnalizer.setWordFrequencesToReturn(750)
frequencyAnalizer.setMinWordLength(4)
import collection.JavaConverters._
val stopwords = Source.fromURL("https://raw.githubusercontent.com/kennycason/kumo/master/src/test/resources/text/stop_words.txt").getLines().toList.asJava
frequencyAnalizer.setStopWords(stopwords)
val wordFrequencies = frequencyAnalizer.load(new URL("https://raw.githubusercontent.com/kennycason/kumo/master/src/test/resources/text/new_york_positive.txt"))
val wordFrequencies2 = frequencyAnalizer.load(new URL("https://raw.githubusercontent.com/kennycason/kumo/master/src/test/resources/text/new_york_negative.txt"))
val wordCloud = new PolarWordCloud(600, 600, CollisionMode.PIXEL_PERFECT, PolarBlendMode.BLUR)
wordCloud.setPadding(2)
wordCloud.setBackground(new CircleBackground(300))
wordCloud.setFontScalar(new SqrtFontScalar(10, 40))
wordCloud.build(wordFrequencies, wordFrequencies2)
val baos = new ByteArrayOutputStream()
ImageIO.write(wordCloud.getBufferedImage(), "png", baos)
val image = new String(Base64.encodeBase64(baos.toByteArray()))
@galleon
Copy link
Author

galleon commented Jun 20, 2015

Use print ("%img " + image)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment