2015-04-14 123 views
-1

R I具有詞頻的向量(短提取:)條形圖與GGPLOT2

head(goeth.sorted.freq.list,10) 
goeth.text.vector 
und der die ihr das ein was es euch man 

35  24  23 20 16 15 13 12 12 12 

我與用命令條形圖繪製:

barplot(head(goeth.sorted.freq.list,10), width=100, las=2, col=rainbow(15)) 

由於畫質當涉及到一個更高的寬度(更多的列)時,barplot變得更糟糕,我想要做的確實是相同的ggplot2。但是我找不到解決方案,因爲我不知道這裏提出的其他解決方案如何適應我的問題。 ggplot2總是給我答案:

GGPLOT2不知道如何處理

(無所謂,哪個命令我試試,我所有的命令都是錯誤的)類陣列的數據

有沒有更好的方式來獲得jpegspng圖片,我認爲需要ggplot2只爲jpegs/pngs因爲情節是好的?

回答

0

使用數據幀,而不是陣列和「身份」的統計,而不是bin和你應該罰款,下面的例子應該工作:

library(ggplot2) 
vec <- c(35,24,23,20,16,15,13,12,12,12) 
names(vec)<- c("und","der","die","ihr","das","ein","was","es","euch","man") 
ggplot(data.frame(names=names(vec), freq=vec), aes(x=names, y=freq))+geom_bar(stat="identity") 

barplot

ü可能看到每說ggplot默認使用該圖中的詞法順序。 U可以通過改變x-Aesthetic的因子水平來改變詞的出現順序。因此,可以說烏爾載體已經訂購,以及名稱的順序應是在情節一樣,那麼ü需要做到這一點,而不是:

ggplot(data.frame(names=factor(names(vec), levels=names(vec)), freq=vec), aes(x=names, y=freq))+geom_bar(stat="identity") 

生產下列情節 ordered barplot

+0

不得不轉換矢量到名稱和數字的數組中:vec <-print(headname(text1.sorted.freq.list,50)))和name(vec)< - names(head(text1.sorted.freq.list,50) )。現在ggplot正在工作,謝謝。但我看不出生成的圖片質量有任何改善。必須多調查一下。謝謝你 – Coliban

+0

我不知道你的圖形質量是什麼意思,但如果x軸標籤是一個問題,你可以旋轉他們像... +主題(axis.text.x = element_text(angle = -90,hjust = 0))。或者你只是想要更多的像素在你的PNG,那麼你可能想看看png()設備的高度或寬度選項。 – scrimau

+0

我指的是JPG或PNG的質量。也許我必須用參數調整一下,但生成的jpg或png的質量與barplot命令的質量一樣(這就是爲什麼我試圖用ggplot使用其他方式的原因)。但是,現在很清楚,我必須使用情節,並對數據進行一些轉換。 – Coliban