亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ggplot中的訂單堆積條形圖

ggplot中的訂單堆積條形圖

PIPIONE 2019-12-04 10:13:07
我和我的同事正在嘗試根據y值而不是按x值按字母順序排列堆積的條形圖。樣本數據是:samp.data <- structure(list(fullname = c("LJ", "PR", "JB", "AA", "NS", "MJ", "FT", "DA", "DR", "AB", "BA", "RJ", "BA2", "AR", "GG", "RA", "DK", "DA2", "BJ2", "BK", "HN", "WA2", "AE2", "JJ2"), I = c(2L, 1L, 3L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), S = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 3L, 2L, 2L, 2L, 3L, 2L, 3L, 2L, 3L, 3L, 3L), D = c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 2L, 3L, 3L, 3L, 2L, 3L, 3L), C = c(0L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 2L, 3L, 3L, 3L, 3L)), .Names = c("fullname", "I", "S", "D", "C"), class = "data.frame", row.names = c(NA, 24L))我想繪制一個堆積的條形圖。我一直在這樣做:md <- melt(samp.data, id=(c("fullname")))temp.plot<-ggplot(data=md, aes(x=fullname, y=value, fill=variable) ) + geom_bar()+ opts(axis.text.x=theme_text(angle=90))+ opts(title = "Score Distribtion")ggsave(temp.plot,filename="test.png")但是我最終希望按4個變量(I,S,D和C)的總和而不是全名的字母順序進行排序。任何幫助是極大的贊賞!謝謝??!
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

通用(非ggplot特定)答案是reorder()根據其他列的某些功能來重置類別列中的因子水平。


## Examine the default factor order

levels(samp.data$fullname)


## Reorder fullname based on the the sum of the other columns

samp.data$fullname <- reorder(samp.data$fullname, rowSums(samp.data[-1]))


## Examine the new factor order

levels(samp.data$fullname)

attributes(samp.data$fullname)

然后使用原始問題中的代碼重新繪制


md <- melt(samp.data, id=(c("fullname")))

temp.plot<-ggplot(data=md, aes(x=fullname, y=value, fill=variable) ) + 

               geom_bar()+ 

               theme(axis.text.x=theme_text(angle=90)) + 

               labs(title = "Score Distribtion")

## ggsave(temp.plot,filename="test.png")


查看完整回答
反對 回復 2019-12-04
  • 2 回答
  • 0 關注
  • 635 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號