2015-03-24 14 views
10

http://nvd3.org/examples/line.html gibi alan = true seçeneğiyle rCharts 'NVD3 lineChart grafiği ile farklı popülasyonların dağılımını çizmek istiyorum. Üzerinde çalışıyorum neyi İşteTablodaki grafik alanı NVD3 satır Çizelge

:

require(devtools) 
install_github('ramnathv/rCharts') 
require(rCharts) 

df<-data.frame(X=rep(1:4,2),Y=1:8,fil=c(rep("A",4),rep("B",4))) 

denp <- nPlot(Y ~ X, group = 'fil', data = df, type = 'lineChart') 
denp$chart(color =c('#ff7f0e', 'blue', 'green')) 
denp$yAxis(axisLabel= 'Density') 
denp$xAxis(axisLabel= 'Value') 
denp$chart(margin = list(left=80,bottom=80)) 
denp$yAxis(tickFormat = "#!function (x,y,e) { return }!#") 
denp$xAxis(tickFormat = "#!function (x,y,e) { 
tickformat = ['0,01','0,1',1,10,100,1000,10000,'100k']; 
return tickformat[x+2];}!#") 
denp$chart(tooltipContent = "#! function(key, val, e, graph){ 
return '<h3>' + '<font color=blue>'+ key +'</font>'+ '</h3>' + '<p>'+ val } !#") 

denp 

bulduğum Sorun true alan parametresini geçiş yapabilmek değilim olmasıdır. Denedim: hepsinde

denp$chart(area=TRUE) 
denp$chart(area=c(TRUE,TRUE,TRUE)) 
denp$chart(area=c('true')) 
denp$chart(area=c('true','true','true')) 
denp$chart(area=c('#!true!#')) 
denp$chart(area=c('#!true!#','#!true!#','#!true!#')) 

sonuç boş bir komplodur. Bu tür grafikler için alan seçeneğini rCharts içinden kullanmanın bir yolu var mı, yoksa şu anda kütüphane erişiminin ötesinde mi? 'stackedAreaChart'

için

cevap

3

@seaotternerd tarafından önerilen isArea işlevini kullanabilirsiniz ve özel olarak ayarlamak istediğiniz alan parametresini ayarlamak için özel bir javascript işlevi kullanın. Burada d

denp$chart(isArea="#! function(d) { 
      if(d.key=='A') return true; 
      } !#") 

veriler şunlardır: kullanan örnekler için

.

Alacağınız:

enter image description here

+0

Bu benim aradığım şey. Tahnks, isArea ile bir işlev kullanabileceğinden emin değildim. –

1

Değişiklik türü sonra nelerdir mı?

denp <- nPlot(Y ~ X, group = 'fil', data = df, type = 'stackedAreaChart') 
denp$chart(color =c('#ff7f0e', 'blue', 'green')) 
denp$yAxis(axisLabel= 'Density') 
denp$xAxis(axisLabel= 'Value') 
denp$chart(margin = list(left=80,bottom=80)) 
denp$yAxis(tickFormat = "#!function (x,y,e) { return }!#") 
denp$xAxis(tickFormat = "#!function (x,y,e) { 
tickformat = ['0,01','0,1',1,10,100,1000,10000,'100k']; 
return tickformat[x+2];}!#") 
denp$chart(tooltipContent = "#! function(key, val, e, graph){ 
return '<h3>' + '<font color=blue>'+ key +'</font>'+ '</h3>' + '<p>'+ val } !#") 

denp 

Eğer type = 'multiChart' kullanmak zorunda (bağlanmak örnekte olduğu gibi) grafik türlerini birleştirmek istiyorsanız

bir örnektir here

+0

Ne için arıyorum diğer değil sahipken satırlardan birini kendi alanı doldurdu olduğu bir çizgi grafiktir. 'stackedAreaChart', istiflenmiş zaman serileri için tasarlanmıştır, yani bir ürünün zamana göre segmentini satması ve iki y ekseni gerektiğinde 'multiChart' kullanılması, yani zaman içinde fiyat ve satışlar için kullanılır. Benim durumumda, her iki satır için de aynı y eksenini istiyorum ve diğerine eklemek için miktarlara ihtiyacım yok. –

3

bu aradığınızı kabaca mi görüyor musunuz?

enter image description here

Ben kodunuzu satır

denp$chart(isArea=TRUE) 

ekleyerek bu elde etti. Boolean alanını true olarak ayarlamak için işlev isArea (documentation) olarak adlandırılır.

+0

Aradığım şeylere daha yakın. Bununla birlikte, gruplardan birinin bir alan, diğeri ise bir hat olmasını istiyorum. Gruba bağlı olarak TRUE veya FALSE değerine ayarlanamamıştım. –

İlgili konular