Rendering Word Clouds

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Introduction

The htmlwidgets package is very interesting and powerful. All the time, I want to write my own html widgets, but I failed. This is my third try, finally I success! As I first try of using htmlwidgets, I hope you will tolerate some of the flaws of this R package, and I will improve it in the future. Next, let's use hwordcloud!

First, you can install it from github:

devtools::install_github('czxa/hwordcloud')
# or just use git
devtools::install_git("https://github.com/czxa/hwordcloud.git")

Also, I made a shiny application example for this package:

dir <- system.file("examples", "hwordcloud", package = "hwordcloud")
setwd(dir)
shiny::shinyAppDir(".")

Enjoy your use!

Get Started

A Basic example

We can use wordcloud2's datesets to demonstrateļ¼š

library(hwordcloud)
library(wordcloud2)
df <- head(demoFreq, 50)
hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "200px")

Theme Parameter

I hate complex codes, so I built some themes in this package. Just change theme parameter, you can render wordcloud in different apperance.

darkgreen

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "darkgreen")

darkblue

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "darkblue")

avocado

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "avocado")

darkunica

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "darkunica")

gray

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "gray")

gridlight

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "gridlight")

grid

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "grid")

sandsignika

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "sandsignika")

sunset

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "300px",
           theme = "sunset")

Other Parameter

Title and subtitle are also can be customized.

A complete example:

hwordcloud(text = df$word, size = df$freq, 
           width = "100%", height = "200px",
           theme = "sunset",
           title = "Word Cloud",
           titleAlign = "center",
           titleColor = "#333333",
           titleSize = "20px",
           subtitle = "czxa.top",
           subtitleColor = "#666666",
           subtitleAlign = "center",
           subtitleSize = "16px")

Using hwordcloud within RMarkdown documents

Benefit from htmlwidgets, you can use hwordcloud() function in R Markdown document. For example, you can create a github document and code following codes in it, save it as a .Rmd documents, then knit it, you will find a word cloud embedded in it.

hwordcloud(text = df$word, size = df$freq, 
               width = "100%", height = "400px",
               theme = "sunset",
               title = "Word Cloud",
               titleAlign = "center",
               titleColor = "#333333",
               titleSize = "20px",
               subtitle = "czxa.top",
               subtitleColor = "#666666",
               subtitleAlign = "center",
               subtitleSize = "16px")

Using hwordcloud within Shiny applications

Here is a very simple shiny example:

library(shiny)
library(wordcloud2)
ui <- fluidPage(
    titlePanel("word cloud example"),
    mainPanel(
      hwordcloudOutput("shinytest", height = "500px")
    )
)
server <- function(input, output) {
    df <- head(demoFreq, 50)
    output$shinytest <- renderHwordcloud({
        hwordcloud(text = df$word, size = df$freq)
    })
}
shinyApp(ui = ui, server = server)


Try the hwordcloud package in your browser

Any scripts or data that you put into this service are public.

hwordcloud documentation built on Aug. 7, 2019, 9:03 a.m.