在R中绘制一个图表,并在两列上详细说明

时间:2016-10-05 09:36:12

标签: r graph 3d

我有一个表格,在两列上展开了标题。如何在此表上绘制3D图形或者在具有精细标题的表格上绘制图形的方法。请建议我实现此目的的其他方法(如果有的话)

犯罪表

information_schema.views

代码

year                                                 
                 2014              2015              2016             
                 Reported Detected Reported Detected Reported Detected
 Murder          221      208      178      172      26       20      
 Murder(Gain)     20       16       11        9       1        1      
 Dacoity          51       45       44       36       5        1      
 Robbery         538      316      351      201      23       10      
 Chain Snatching 528      394      342      229      23        0

1 个答案:

答案 0 :(得分:0)

由于我讨厌3向表的3D图,我喜欢ggplot2,我建议:

将您的数据收集到" long"格式:

library(tidyr)
st_long = gather(st, type, count, -c(year, what))
head(st_long, 3)
#   year         what     type count
# 1 2014       Murder Reported   221
# 2 2014 Murder(Gain) Reported    20
# 3 2014      Dacoity Reported    51

如您所见,DetectedReported列现在都包含在名为type的同一列中。这对ggplot2很有用,因为它可以轻松创建构面。构面是图中的独立元素,它们共享相同的美学组件,但可以处理不同的数据组:

library(ggplot2)
ggplot(st_long, aes(year, count, group = what, color = what)) +
  geom_line() +
  facet_wrap(~ type)

(我不是说线图是这里唯一/最好的情节,但它通常在比较不同时间点的频率时使用。)