add vertical and horizontal lines in hplot (rcharts)

↘锁芯ラ 提交于 2020-07-07 14:28:16

问题


I'm trying to add horizontal and vertical lines in a highchart (rcharts) in a revealjs presentation. I tried to modify the code of this post in this way:

require(xlsx) 
library(rCharts)

Perhplot.df <-read.xlsx("C:\\RDirectory\\AREALAVORO\\JOB\\RISULTATI2.xlsx", sheetName="completo2")

lDf <- split(Perhplot.df, Perhplot.df$variable)

h16 <- hPlot(protection ~ days, data = lDf$Exposure, 
type = "bubble", 
group = "label",
title = "By Days of Exposure", 
subtitle = "Move the mouse pointer on the bubbles to view the data",
size = "cluster_size", 
group = "label")
h16$set(width = 1000, height = 600)

ord <- c("Less than 1 week"=0,
"1-2 weeks"=1,
"3-4 weeks"=2,
"More than 4 weeks"=3,
"Mean"=4
)
h16$params$series <- lapply(h16$params$series, function(d){
temp = ord[d$name]
names(temp) = NULL
d$legendIndex = temp
return(d)
})
h16$yAxis(min = 35, max = 70, title = list(text = "Level of Protection"))
h16$xAxis(min = 0, max = 45, title = list(text = "Days of Exposure"))

dfy<-data.frame(y=c(35,58,70), x=c(18.8,18.8,18.8))
h16$layer(y~x,data=dfy,type="line",color=list(const = 'darkblue'))

h16$show('inline', include_assets = TRUE)

the bubble plot is ok but then I try to add the vertical line I have this error:

Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : ‘layer’ is not a valid field or method name for reference class “Highcharts”

So the solution works for Dimple Charts but not for Highcharts...


回答1:


As same as rcharts highcharts plotLines.

You need to use plotLines argument:

library("rCharts")
# Some data
x <- abs(rnorm(10))
# A graph with column
h <- Highcharts$new()
h$chart(type = "column")
h$series(data = x)
h$xAxis(categories = letters[1:10])
# the horizontal line
h$yAxis(title = list(text = "rnorm()"),
    plotLines = list(list(
      value = mean(x),
      color = '#ff0000',
      width = 3,
      zIndex = 4,
      label = list(text = "mean",
                   style = list( color = '#ff0000', fontWeight = 'bold' )
      ))))
h

Yo add vertical you change yAxis by xAxis.

Or if you use highcharter (It's a new wrapper of highcharts for R):

h2 <- highchart() %>% 
  hc_chart(type = "column") %>% 
  hc_add_serie(data = x) %>% 
  hc_xAxis(categories = letters[1:10]) %>% 
  hc_yAxis(title = list(text = "rnorm()"),
        plotLines = list(list(
          value = mean(x),
          color = '#ff0000',
          width = 3,
          zIndex = 4,
          label = list(text = "mean",
                       style = list( color = '#ff0000', fontWeight = 'bold'   )
          ))))
h2

Source: http://jkunst.com/highcharter/highcharts-api.html#hc_xaxis-and-hc_yaxis



来源:https://stackoverflow.com/questions/35582625/add-vertical-and-horizontal-lines-in-hplot-rcharts

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!