워드클라우드(wordcloud) 만들기
반드시 UTF-8 로 저장된 txt만 가능하다.

1. R소스
library(wordcloud)
library(KoNLP)
library(RColorBrewer)
f<-file(‘c:/image/word.txt’,encoding=’UTF-8′)
textLines<-readLines(f)
nouns<-sapply(textLines,extractNoun,USE.NAMES=F)
close(f)
png(‘c:/image/plz.png’)
wordcloud<-table(unlist(nouns))
wordcloud(names(wordcloud),freq=wordcloud,scale=c(8,0,5),max.words=150,per=.1,min.freq=2,random.order=F)
dev.off()
System.out.println(“COMPLETE”)
2. 자바소스
public static void imgSave() throws Exception
{
RConnection rc=new RConnection();//Rserver Connection
rc.voidEval(“Sys.setenv=(JAVA_HOME=\”c:/Program Files/Java/jre7\”)”);
rc.voidEval(“library(wordcloud)”);
rc.voidEval(“library(KoNLP)”);
rc.voidEval(“library(RColorBrewer)”);
rc.voidEval(“f<-file(\”c:/image/word.txt\”,encoding=\”UTF-8\”)”);
rc.voidEval(“textLines<-readLines(f)”);
rc.voidEval(“nouns<-sapply(textLines,extractNoun,USE.NAMES=F)”);
rc.voidEval(“close(f)”);
rc.voidEval(“png(\”c:/image/plz.png\”)”);
rc.voidEval(“wordcloud<-table(unlist(nouns))”);
rc.voidEval(“wordcloud(names(wordcloud),freq=wordcloud,scale=c(8,0,5),max.words=150,per=.1,min.freq=2,random.order=F)”);
rc.voidEval(“dev.off()”);
System.out.println(“COMPLETE”);
rc.close();
}
3. 임시 저장(즉각 출력)을 위한 자바소스
2번 소스와 txt 및 png 파일 위치만 다르다. 아래와 같이 메타데이터 안의 경로를 찾아넣어주면 jsp에서 <img src=”word.png”> 로만 불러들일 수 있다.
public static void imgSave() throws Exception
{
RConnection rc=new RConnection();
rc.voidEval(“Sys.setenv(JAVA_HOME=\”c:/Program Files/Java/jre7\”)”);
rc.voidEval(“library(KoNLP)”);
rc.voidEval(“library(RColorBrewer)”);
rc.voidEval(“library(wordcloud)”);
rc.voidEval(“f<-file(\”C:/springDev/springStudy/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SpringWebProject7/word/word.txt\”,encoding=\”utf-8\”)”);
rc.voidEval(“textLines<-readLines(f)”);
rc.voidEval(“nouns<-sapply(textLines,extractNoun,USE.NAMES=F)”);
rc.voidEval(“close(f)”);
//참고: c:/springDev2/springStudy/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/DiningCodeProject/dlist_detail/image/cloudimg/word.jpg
rc.voidEval(“png(\”C:/springDev/springStudy/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/SpringWebProject7/word/word.png\”)”);
rc.voidEval(“wordcloud<-table(unlist(nouns))”);
rc.voidEval(“pal<-brewer.pal(17,\”Set3\”)”);
rc.voidEval(“pal<-pal[-(1)]”);
rc.voidEval(“windowsFonts(malgun=windowsFont(\”Malgun Gothic\”))”);
rc.voidEval(“wordcloud(names(wordcloud),freq=wordcloud,scale=c(8,0.5),max.words=150,rot.per=.1,min.freq=2,random.order=F, colors=pal, family=\”malgun\”)”);
rc.voidEval(“dev.off()”);
System.out.println(“COMPLETE”);
rc.close();
}