2010-07-08 77 views
0

我需要繪製一個圖表,其中的X值都是名稱 - 例如,美國的州將文字放在圖的X軸上

並且Y值是數值並且按降序排列 - 例如,美國各州的人口。

當前,當我使用繪圖函數時,它會繪製一個圖形,但a)Y值不是以降序排列,並且b)X軸顯示一堆升序數字,而不是狀態的名稱。

感謝您的幫助。

編輯:

我,使用R的數據集:state.name和state.area

>state.name

[1]"Alabama" etc 

>state.area

[1] 51609 etc 

我的實際數據非常相似,所以我只是在玩弄這些。

Trial.Group Mean Heart Rate  Upper Confidence Interval Lower Confidence Interval 
33subj-Male 80     120       70 
+0

你能告訴我們你用於繪圖的data.frame嗎? – 2010-07-08 09:59:32

+0

尋找適合您需求的示例。例如。 http://bm2.genes.nig.ac.jp/RGM2/R_current/library/fEcofin/man/WFEStatistics.html – 2010-07-08 10:06:45

+0

我正在使用R的數據集:state.name和state.area > state.name [ 1]「阿拉巴馬州」等 > state.area [1] 51609等 我的實際數據非常相似,所以我只是在玩這些。 Trial.Group平均心率 333subj-男性80 – 2010-07-08 10:15:57

回答

2

聽起來像你想要一個條形圖(或可能是一個點狀圖)。 R中有3種不同的繪圖系統;這裏按優先順序排列解決方案。

#Some US state data 
data(state) 
dfr <- data.frame(name = state.name, area = state.area) 
dfr$name <- with(dfr, factor(name, levels = name[order(area)])) 

#The ggplot way 
library(ggplot2) 
ggplot(dfr, aes(name, area)) + geom_bar() + coord_flip() 

#The lattice way 
library(lattice) 
barchart(name ~ area, data = dfr) 

#The base way 
par(las = 1, mar = c(4, 7, 1, 1)) 
with(dfr, barplot(area, names.arg = name, horiz = TRUE)) 

編輯: 我做的水平條,以使其更易於閱讀標籤。