A simple clojure wrapper around kumo to generate wordcloud
[xtreak/clj-wordcloud "0.0.1"]
Documentation is generated by Codox and it's available at https://tirkarthi.github.io/clj-wordcloud/
Given a map of element and the frequency the following image is generated. More examples/examples.clj.
(ns examples
(:require [clj-wordcloud.core :refer :all]))
(def programming-languages ["Clojure" "Haskell" "Go" "Rust" "Scala" "Python" "Perl"
"Ruby" "Smalltalk" "PHP" "Java" "JavaScript"
"C" "C++" "Lisp" "Scheme" "Typescript" "D" "R" "Brainfuck" "Elixir"
"Erlang" "C#" "BASIC" "Logo" "Alice" "Dart" "Purescript" "Prolog"
"Ada" "F#" "Julia" "Kotlin" "Swift" "Delphi"])
(let [frequency-map (zipmap programming-languages (shuffle (range 300)))
word-cloud (word-cloud frequency-map
{:dimension {:width 600
:height 600}
:background {:type :circle
:size 300
:color "0x000000"}
:font {:type "Calibre"
:weight :plain
:scale-type :linear
:x-scale 20
:y-scale 20
:padding 5}})]
(write-to-file word-cloud "example_circle.png"))
(ns examples
(:require [clj-wordcloud.core :refer :all]))
(let [frequency-map (zipmap (range 100 150) (shuffle (range 300)))
word-cloud (word-cloud frequency-map
{:dimension {:width 600
:height 600}
:background {:type :pixel
:size 300
:color "0x000000"
:bitmap "examples/backgrounds/haskell_1.bmp"}
:font {:type "Calibre"
:weight :plain
:scale-type :linear
:x-scale 20
:y-scale 20
:padding 5}})]
(write-to-file word-cloud "example_haskell.png"))
- API parity with Kumo
- clojure.spec for docs and validation
- Cool examples
- Better tests
Contributions are welcome. Please refer to CONTRIBUTING.md.
This library is still in early development phase and the API is subject to change. API design comments are welcome.
Thanks to @kennycason for kumo without which this library is not possible
Copyright © 2018 Karthikeyan S
Distributed under the MIT License