当前位置:  开发笔记 > 前端 > 正文

R中的堆积区域直方图

如何解决《R中的堆积区域直方图》经验,为你挑选了1个好方法。

我在一个Hadoop集群上运行了一个Pig工作,它将一堆数据压缩成R可以处理的事情来进行队列分析.我有以下脚本,从第二行到最后一行,我有以下格式的数据:

> names(data)
[1] "VisitWeek" "ThingAge"    "MyMetric"

VisitWeek是一个约会.ThingAge和MyMetric是整数.

数据看起来像:

2010-02-07     49  12345

我到目前为止的脚本是:

# Load ggplot2 for charting 
library(ggplot2);

# Our file has headers - column names
data = read.table('weekly_cohorts.tsv',header=TRUE,sep="\t");

# Print the names
names(data)

# Convert to dates
data$VisitWeek = as.Date(data$VisitWeek)
data$ThingCreation = as.Date(data$ThingCreation)

# Fill in the age column
data$ThingAge = as.integer(data$VisitWeek - data$ThingCreation)

# Filter data to thing ages lt 10 weeks (70 days) + a sanity check for gt 0, and drop the creation week column
data = subset(data, data$ThingAge <= 70, c("VisitWeek","ThingAge","MyMetric"))
data = subset(data, data$ThingAge >= 0)

print(ggplot(data, aes(x=VisitWeek, y=MyMetric, fill=ThingAge)) + geom_area())

最后一行不起作用.我尝试了很多变化,条形图,直方图,但像往常一样,R文档打败了我.

我希望它显示一个标准的Excel样式堆积区域图表 - 每个ThingAge的一个时间序列在x轴上的几周堆叠,日期在y轴上.这种图表的一个例子如下:http://upload.wikimedia.org/wikipedia/commons/a/a1/Mk_Zuwanderer.png

我在这里阅读文档:http://had.co.nz/ggplot2/geom_area.html和http://had.co.nz/ggplot2/geom_histogram.html和这个博客的http://chartsgraphs.wordpress. com/2008/10/05/r-lattice-plot-beats-excel-stacked-area-trend-chart /但我不能让它对我有用.

我怎样才能做到这一点?



1> learnr..:
library(ggplot2)
set.seed(134)
df <- data.frame(
    VisitWeek = rep(as.Date(seq(Sys.time(),length.out=5, by="1 day")),3),
    ThingAge = rep(1:3, each=5),
    MyMetric = sample(100, 15))

ggplot(df, aes(x=VisitWeek, y=MyMetric)) + 
    geom_area(aes(fill=factor(ThingAge)))

给我下面的图片.我怀疑你的问题在于正确指定区域图的填充映射:fill=factor(ThingAge)

alt text http://www.imageurlhost.com/images/wbc5alknt1apvg3czzmb.png

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有