2015-04-21 171 views
0

我是問這個問題很抱歉,但我已經用Google搜索和搜索在這裏,但我沒有發現任何有用的(這意味着許多不同的功能繪製的情節,但沒有人與我的問題)。 我有一個包含我必須繪製的數據(名爲「rmse」)的向量和一個包含x軸上的列名稱(名爲「nomi」)的向量。我只想繪製數據,因爲空間問題,x軸上的標籤旋轉90°。 我發現這個有用的網站:http://harding.edu/fmccown/r/ 看着它,我發現瞭如何在軸旋轉的標籤,但是,即使我有12列,我有6列與覆蓋標籤和6列沒有標籤。標籤被覆蓋

這裏是我的代碼:

library(lattice) 
library(gstat) 

nomi<-c("Quota","No Quota","Mare","No Mare","Slope","No Slope","Terreno","No Terreno","Facet","No Facet","Po","No Po") 
rmse<-c(1.79,1.97,1.82,1.84,1.82,1.82,1.80,1.83,1.82,1.84,1.82,1.81) 
g_range <- range(0, rmse) 
plot(rmse, type='h',axes=F, ann=F) 
axis(1, at=1:12, lab=F) 
text(axTicks(1),par("usr")[3], srt=90, adj=1, labels=nomi, xpd=T, cex=0.8) 
axis(2, las=1) 
box() 

而這裏的情節:

enter image description here

你知道我在做什麼錯?我知道這是一個簡單的問題,但我很初學者,有時候我需要幫助:)

感謝您的關注!

+0

有什麼理由你想使用'text'而不是簡單地使用'axis'的'labels'參數繪製軸標籤? – joran

+0

什麼需要格和gstat?這是因爲'axTicks(1)'給出了'#[1] 2 4 6 8 10 12''而不是像你需要的那樣1:12 – rawr

+0

謝謝你的評論。我使用[code] text [/ code]僅僅是因爲我在鏈接中看到了它,我讀了軸的參考(帶有?軸),但我沒有找到如何旋轉標籤。但即使使用標籤參數,對我來說也沒關係。我需要gstat和格子,因爲我稍後使用它,但不適用於情節。如果更清楚我可以編輯並移除格子和gstat。 – Eugen

回答

0

我解決了!它足以添加「LAS = 2」作爲軸的參數,這要歸功於joran已經建議我,我可以避免「文本」)

nomi<-c("Quota","No Quota","Mare","No Mare","Slope","No Slope","Terreno","No Terreno","Facet","No Facet","Po","No Po") 
rmse<-c(1.79,1.97,1.82,1.84,1.82,1.82,1.80,1.83,1.82,1.84,1.82,1.81) 
g_range <- range(0, rmse) 
plot(rmse, type='h',axes=F, ann=F) 
axis(1, at=1:12, lab=nomi, las=2) 
axis(2, las=1) 
box() 
0

另一種方法是通過GGPLOT2命令來使用,以產生圖

dt <- data.frame(
    rownum = 1:length(nomi), 
    nomi=c("Quota","No Quota","Mare","No Mare","Slope","No Slope","Terreno","No Terreno","Facet","No Facet","Po","No Po"), 
    rmse=c(1.79,1.97,1.82,1.84,1.82,1.82,1.80,1.83,1.82,1.84,1.82,1.81) 
) 

library(ggplot2)      

ggplot(dt) + aes(x =reorder(nomi,rownum), y = rmse) + geom_bar(stat = "identity")+ 
    theme(axis.text.x = element_text(angle=90, face="bold", colour="black"))+ 
    scale_x_discrete(name="") 

enter image description here