Площадь участка в rcharts NVD3 lineChart

Я хочу рассказать о распределении разных популяций с графиком lineChart с графикой NVC3 rCharts, используя параметр area = true, например, в http://nvd3.org/examples/line.html.

Вот о чем я работаю:

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

Проблема, которую я нахожу, заключается в том, что я не могу переключить параметр area в true. Я пробовал:

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!#'))

Результат во всех из них - пустой сюжет. Есть ли способ использовать параметр области для этого типа графа изнутри rCharts или он находится за пределами доступной библиотеки?

Ответ 1

Вы можете использовать функцию isArea в качестве предлагаемого @seaotternerd и использовать пользовательскую функцию javascript, чтобы конкретно установить, какой параметр области вы хотите установить в true.

Для примеров, используя:

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

Здесь d - данные.

Вы получаете:

enter image description here

Ответ 2

Это примерно то, что вы ищете?

enter image description here

Я достиг этого, добавив строку

denp$chart(isArea=TRUE)

к вашему коду. Похоже, функция для установки области boolean на true называется isArea (documentation).

Ответ 3

Изменить тип на 'stackedAreaChart'

Это то, что вам нужно?

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

Если вы хотите объединить типы диаграмм (например, в примере, на который вы ссылаетесь), вы должны использовать type = 'multiChart' см. пример здесь