我正在尝试使用新ggvis包绘制堆积区域图.
在ggplot,我设法做到这样:
d<- data.frame(
time=as.numeric( rep( 1:100, 100 ) ),
class=as.factor( sample( 7, 100000, replace=TRUE ) )
)
t <- as.data.frame( table( d$time, d$class ) )
ggplot( t, aes( x=as.numeric( Var1 ), y=Freq, fill=Var2 ) ) +
geom_area( stat="identity" )
Run Code Online (Sandbox Code Playgroud)

有了ggvis,我设法使用条形图在相同的布局中绘制相同的数据:
ggvis( t, x=~as.numeric( Var1 ), y=~Freq, fill=~Var2 )
%>% group_by( Var2 )
%>% layer_bars()
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么说ggvis我想要的是区域,而不是酒吧.layer_areas不存在,都layer_paths和layer_ribbons给我错误的结果.
我玩过路径和缎带的道具,但我无法弄清楚如何分辨ggvis出相互叠加的区域.
使用绘制堆积区域图的正确方法是ggvis什么?
我需要遍历 Lucene 索引中的所有文档,并获取每个术语在每个文档中出现的位置。据我从 Lucene javadoc 中了解到,这样做的方法是做这样的事情:
IndexReader ir = obtainIndexReader();
Terms tv = ir.getTermVector( doc, field );
TermsEnum terms = tv.iterator();
PostingsEnum p = null;
while( terms.next() != null ) {
p = terms.postings( p, PostingsEnum.ALL );
while( p.nextDoc() != PostingsEnum.NO_MORE_DOCS ) {
int freq = p.freq();
for( int i = 0; i < freq; i++ ) {
int pos = p.nextPosition(); // Always returns -1!!!
BytesRef data = p.getPayload();
doStuff( freq, pos, data ); // Fails miserably, of course. …Run Code Online (Sandbox Code Playgroud)