Transparent fillColor javascript не работает в highcharter с hcaes () - PullRequest
0 голосов
/ 17 июня 2020

По какой-то причине javascript не работает в highcharter, когда я использую hcaes (). Пожалуйста, посмотрите ниже 3 примера, где второй должен быть желаемым рабочим:

library(highcharter)
library(data.table)

mydata <- data.table(series1=c(1:5),
                     series2=c(2,5,2,1,7),
                     date=as.yearqtr(c('2015-01-01','2016-01-01','2017-01-01','2019-01-01','2020-01-01'))
)
#### 1 Working                     
highchart() %>%
  hc_plotOptions(area = list(stacking='normal')) %>%
  hc_add_series(
    type='area',name= 'Series1',
    data= mydata$series1,
    lineColor= '#F1881F',color= '#F1881F',
    marker= F,
    fillColor =  JS(("{
    linearGradient: {x1: 1, y1: 0, x2: 1, y2: 1},
    stops: [
      [0, Highcharts.Color('#F1881F').setOpacity(0.8).get('rgba')],
      [.99, Highcharts.Color('#F1881F').setOpacity(0.1).get('rgba')]
      ]
  }"
    ))
  ) 

### 2 Not working

highchart() %>%
  hc_plotOptions(area = list(stacking='normal')) %>%
  hc_add_series(mydata,type='area',name= 'Series1',
    hcaes(y=series1,x=date),
    lineColor= '#F1881F',color= '#F1881F'
    ,marker= F,
    fillColor =  JS(("{
    linearGradient: {x1: 1, y1: 0, x2: 1, y2: 1},
    stops: [
      [0, Highcharts.Color('#F1881F').setOpacity(0.8).get('rgba')],
      [.99, Highcharts.Color('#F1881F').setOpacity(0.1).get('rgba')]
      ]
  }"
    ))
  ) 

### 3 working when javascript is commented out.

highchart() %>%
  hc_plotOptions(area = list(stacking='normal')) %>%
  hc_add_series(mydata,type='area',name= 'Series1',
                hcaes(y=series1,x=date),
                lineColor= '#F1881F',color= '#F1881F',
                marker= F#,
  #               fillColor =  JS(("{
  #   linearGradient: {x1: 1, y1: 0, x2: 1, y2: 1},
  #   stops: [
  #     [0, Highcharts.Color('#F1881F').setOpacity(0.8).get('rgba')],
  #     [.99, Highcharts.Color('#F1881F').setOpacity(0.1).get('rgba')]
  #     ]
  # }"
  #               ))
  ) 
...