Import the package wordcloud2 -
> library(wordcloud2)
If not installed then install it by running devtools::install_github("lchiffon/wordcloud2")
.
If you have problems with R Studio homework - experts at www.homeworkhelponline.net can take care of your assignments.
Let’s use the data frame of words count called demoFreq -
> head(demoFreq)
word freq
oil oil 85
said said 73
prices prices 48
opec opec 42
mln mln 31
the the 26
Wordcloud2
Using the wordcloud2 function create a word cloud -
> wordcloud2(demoFreq, size=1.2, color='random-light',
+ backgroundColor = "#FFFF99")
Coloring
Using color = “random_dark” -
> wordcloud2(demoFreq, size=1.2, color='random-dark',
+ backgroundColor = "#FFFF99")
Using custom colors -
> wordcloud2(demoFreq, size=1.2,
+ color=rep_len(c("green","blue","red"),nrow(demoFreq)))
Fit to Basic Shapes
Shapes of the word clouds can be changed to many forms - x
> wordcloud2(demoFreq, size = 0.7, shape = 'star', ellipticity = 0.8)
> wordcloud2(demoFreq, size = 0.7, shape = 'circle')
> wordcloud2(demoFreq, size = 0.7, shape = 'cardioid')
> wordcloud2(demoFreq, size = 0.7, shape = 'diamond')
> wordcloud2(demoFreq, size = 0.7, shape = 'triangle-forward')
> wordcloud2(demoFreq, size = 0.7, shape = 'triangle')
Fit to Photo
A photo mask can be used for the shape also. This can be done by providing the file in figpath -
> wordcloud2(demoFreq, figPath = "Data/bird.png", size = 1.5,
+ color = "skyblue", backgroundColor="white")
Sometimes in RStudio and html files the output may not be seen. Refreshing the widget window may solve this problem.
Fit to Word or Letter
Any word or letter also can be used as shape -
> letterCloud(demoFreq,"HIMEL")
> letterCloud(demoFreq, word = "Joy
+ Bangla", wordSize = 1)
Saving Image
Here is a solution of how to save the produced image of this html widget output in local drive. But this method of saving does not appear to work when using a custom shape via the figPath parameter or using the letterCloud().
LS0tDQp0aXRsZTogV29yZCBDbG91ZCBpbiBSDQphdXRob3I6ICdNRCBBSFNBTlVMIElTTEFNJw0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICB0b2NfZGVwdGg6IDQNCiAgICB0aGVtZTogY2VydWxlYW4NCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQotLS0NCg0KYGBge3IsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGNvbW1lbnQgPSAiIiwgcHJvbXB0ID0gVFJVRSwgbWVzc2FnZT1GLCB3YXJuaW5nID1GDQopDQpgYGANCg0KLS0tDQoNCkltcG9ydCB0aGUgcGFja2FnZSB3b3JkY2xvdWQyIC0gDQpgYGB7cn0NCmxpYnJhcnkod29yZGNsb3VkMikgDQpgYGANCklmIG5vdCBpbnN0YWxsZWQgdGhlbiBpbnN0YWxsIGl0IGJ5IHJ1bm5pbmcgYGRldnRvb2xzOjppbnN0YWxsX2dpdGh1YigibGNoaWZmb24vd29yZGNsb3VkMiIpYC4NCg0KSWYgeW91IGhhdmUgcHJvYmxlbXMgd2l0aCBSIFN0dWRpbyBob21ld29yayAtIGV4cGVydHMgYXQgW3d3dy5ob21ld29ya2hlbHBvbmxpbmUubmV0XShodHRwczovL3d3dy5ob21ld29ya2hlbHBvbmxpbmUubmV0L3Byb2dyYW1taW5nL3ItcHJvZ3JhbW1pbmcpIGNhbiB0YWtlIGNhcmUgb2YgeW91ciBhc3NpZ25tZW50cy4NCg0KTGV0J3MgdXNlIHRoZSBkYXRhIGZyYW1lIG9mIHdvcmRzIGNvdW50IGNhbGxlZCBkZW1vRnJlcSAtDQpgYGB7cn0NCmhlYWQoZGVtb0ZyZXEpDQpgYGANCg0KLS0tDQoNCiMjIyBXb3JkY2xvdWQyDQoNClVzaW5nIHRoZSB3b3JkY2xvdWQyIGZ1bmN0aW9uIGNyZWF0ZSBhIHdvcmQgY2xvdWQgLQ0KYGBge3J9DQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplPTEuMiwgY29sb3I9J3JhbmRvbS1saWdodCcsDQogICAgICAgICAgIGJhY2tncm91bmRDb2xvciA9ICIjRkZGRjk5IikNCmBgYA0KDQotLS0NCg0KIyMjIENvbG9yaW5nDQoNClVzaW5nIGNvbG9yID0gInJhbmRvbV9kYXJrIiAtDQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemU9MS4yLCBjb2xvcj0ncmFuZG9tLWRhcmsnLA0KICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSAiI0ZGRkY5OSIpDQpgYGANCg0KVXNpbmcgY3VzdG9tIGNvbG9ycyAtIA0KYGBge3J9DQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplPTEuMiwgDQogICAgICAgICAgIGNvbG9yPXJlcF9sZW4oYygiZ3JlZW4iLCJibHVlIiwicmVkIiksbnJvdyhkZW1vRnJlcSkpKQ0KYGBgDQoNCi0tLQ0KDQojIyMgRml0IHRvIEJhc2ljIFNoYXBlcw0KICAgDQpTaGFwZXMgb2YgdGhlIHdvcmQgY2xvdWRzIGNhbiBiZSBjaGFuZ2VkIHRvIG1hbnkgZm9ybXMgLSB4DQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ3N0YXInLCBlbGxpcHRpY2l0eSA9IDAuOCkNCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ2NpcmNsZScpDQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplID0gMC43LCBzaGFwZSA9ICdjYXJkaW9pZCcpDQp3b3JkY2xvdWQyKGRlbW9GcmVxLCBzaXplID0gMC43LCBzaGFwZSA9ICdkaWFtb25kJykNCndvcmRjbG91ZDIoZGVtb0ZyZXEsIHNpemUgPSAwLjcsIHNoYXBlID0gJ3RyaWFuZ2xlLWZvcndhcmQnKQ0Kd29yZGNsb3VkMihkZW1vRnJlcSwgc2l6ZSA9IDAuNywgc2hhcGUgPSAndHJpYW5nbGUnKQ0KYGBgDQoNCi0tLQ0KDQojIyMgRml0IHRvIFBob3RvIA0KDQpBIHBob3RvIG1hc2sgY2FuIGJlIHVzZWQgZm9yIHRoZSBzaGFwZSBhbHNvLiBUaGlzIGNhbiBiZSBkb25lIGJ5IHByb3ZpZGluZyB0aGUgZmlsZSBpbiBmaWdwYXRoIC0gDQpgYGB7cn0NCndvcmRjbG91ZDIoZGVtb0ZyZXEsIGZpZ1BhdGggPSAiRGF0YS9iaXJkLnBuZyIsIHNpemUgPSAxLjUsIA0KICAgICAgICAgICBjb2xvciA9ICJza3libHVlIiwgYmFja2dyb3VuZENvbG9yPSJ3aGl0ZSIpDQpgYGANCg0KKipTb21ldGltZXMgaW4gUlN0dWRpbyBhbmQgaHRtbCBmaWxlcyB0aGUgb3V0cHV0IG1heSBub3QgYmUgc2Vlbi4gUmVmcmVzaGluZyB0aGUgd2lkZ2V0IHdpbmRvdyBtYXkgc29sdmUgdGhpcyBwcm9ibGVtLioqDQoNCi0tLQ0KDQojIyMgRml0IHRvIFdvcmQgb3IgTGV0dGVyDQoNCkFueSB3b3JkIG9yIGxldHRlciBhbHNvIGNhbiBiZSB1c2VkIGFzIHNoYXBlIC0NCmBgYHtyfQ0KbGV0dGVyQ2xvdWQoZGVtb0ZyZXEsIkhJTUVMIikNCmxldHRlckNsb3VkKGRlbW9GcmVxLCB3b3JkID0gIkpveQ0KQmFuZ2xhIiwgd29yZFNpemUgPSAxKQ0KYGBgDQoNCi0tLQ0KDQojIyMgU2F2aW5nIEltYWdlIA0KDQpbSGVyZV0oaHR0cHM6Ly9naXRodWIuY29tL0xjaGlmZm9uL3dvcmRjbG91ZDIvaXNzdWVzLzgpIGlzIGEgc29sdXRpb24gb2YgaG93IHRvIHNhdmUgdGhlIHByb2R1Y2VkIGltYWdlIG9mIHRoaXMgaHRtbCB3aWRnZXQgb3V0cHV0IGluIGxvY2FsIGRyaXZlLiBCdXQgdGhpcyBtZXRob2Qgb2Ygc2F2aW5nIGRvZXMgbm90IGFwcGVhciB0byB3b3JrIHdoZW4gdXNpbmcgYSBjdXN0b20gc2hhcGUgdmlhIHRoZSBmaWdQYXRoIHBhcmFtZXRlciBvciB1c2luZyB0aGUgbGV0dGVyQ2xvdWQoKS4NCg==