2017-04-18 129 views
2

所以這裏是我在SO中的第一篇文章。 我有一個數據集,看起來如下所示。但這是爲了更多的桶和更長的時間段。我正在尋找某種交互式陰謀,這將非常適合代表這些數據。代表需要考慮到所有提到的專欄,並且需要互動。我嘗試通過諸如dygraphs,ggplot2,rcharts和其他一些軟件包,但沒有找到任何簡單方便的東西。我剛剛開始與R,所以一些見解將是偉大的。代表基於R中多個分類的時間序列數據

Month Age Gender Percentage 
Mar-16 0-20 F   1.01 
Mar-16 0-20 M   0.46 
Mar-16 21-30 F   5.08 
Mar-16 21-30 M   4.03 
Apr-16 0-20 F   2.34 
Apr-16 0-20 M   3.55 
Apr-16 21-30 F   6.78 
Apr-16 21-30 M   9.08 
May-16 0-20 F   3.56 
May-16 0-20 M   3 
May-16 21-30 F   2.08 
May-16 21-30 M   10 
+1

可以ggplotly&GGPLOT2使用,並且組由年齡和性別的顏色,那麼你可以繪X =月和y =百分比。 gglotlot會給你想要的交互。 ggplot2將創建好的方式來創建情節 –

回答

1

這裏有一個快速可視化GGPLOT2和plotly通過@KppatelPatel 所建議的ggplotly輸出將是你的圖形用戶界面上的互動情節,具有懸停信息例如Month: Apr-16; Percentage: 2.34; Gender: F

library(ggplot2) 
library(plotly) 

p <- ggplot(dat, aes(x=Month, y=Percentage, fill=Gender)) + 
    geom_bar(stat="identity", position = position_dodge()) + 
    facet_wrap(~Age, ncol=2) 

ggplotly(p) 

enter image description here

的data.frame dput對所提供的數據:

dat <- structure(list(Month = structure(c(2L, 2L, 2L, 2L, 1L, 1L, 1L, 
1L, 3L, 3L, 3L, 3L), .Label = c("Apr-16", "Mar-16", "May-16"), class = "factor"), 
Age = structure(c(1L, 1L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 
2L, 2L), .Label = c("0-20", "21-30"), class = "factor"), 
Gender = structure(c(1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 
2L, 1L, 2L), .Label = c("F", "M"), class = "factor"), Percentage = c(1.01, 
0.46, 5.08, 4.03, 2.34, 3.55, 6.78, 9.08, 3.56, 3, 2.08, 
10)), .Names = c("Month", "Age", "Gender", "Percentage"), class = "data.frame", row.names = c(NA, 
-12L)) 

編輯:

要繪製時間的邏輯順序,轉換本月至今格式:

library(dplyr) 
dat$Time <- dat$Month %>% 
      as.character %>% 
      paste("01-", .) %>% 
      as.Date(., format= "%d-%b-%y") 

x=Time繪製的相同ggplot上述會給你以下幾點:

enter image description here

相關問題