r - Shiny 中的 Highcharts 事件量表

标签 r highcharts shiny rcharts gauge

我正在尝试使用 rCharts 从 Shiny 中的 Highcharts 制作事件量表。请帮忙。

#server.R
library(shiny)
library(rCharts)

shinyServer(function(input, output) {
  output$chart <- renderChart({
    a <- Highcharts$new()
    a$series(data = 50, type = "solidgauge")
    a$addParams(dom = "chart")
    return(a)
    })
})
#ui.R
library(shiny)
library(rCharts)

shinyUI(bootstrapPage(
  chartOutput("chart", "highcharts")

))

最佳答案

看看精彩的 highcharter 包,它有很多不错的功能。您可以找到更多信息here .请注意,下面的示例取自提供的链接

rm(list = ls())
library(shiny)
library(highcharter)

server <- function(input, output) {
  output$mychart <- renderHighchart({
    highchart(width = 400, height = 400) %>% 
      hc_chart(type = "solidgauge",backgroundColor = "#F0F0F0",marginTop = 50) %>% 
      hc_title(text = "Activity",style = list(fontSize = "24px")) %>% 
      hc_tooltip(borderWidth = 0,backgroundColor = 'none',shadow = FALSE,style = list(fontSize = '16px'),
                 pointFormat = '{series.name}<br><span style="font-size:2em; color: {point.color}; font-weight: bold">{point.y}%</span>',
                 positioner = JS("function (labelWidth, labelHeight) {return {x: 200 - labelWidth / 2,y: 180};}")) %>% 
      hc_pane(startAngle = 0,endAngle = 360,
              background = list(
                list(outerRadius = '112%',innerRadius = '88%',backgroundColor = JS("Highcharts.Color('#F62366').setOpacity(0.1).get()"),borderWidth =  0),
                list(outerRadius = '87%',innerRadius = '63%',backgroundColor = JS("Highcharts.Color('#9DFF02').setOpacity(0.1).get()"),borderWidth = 0),
                list(outerRadius = '62%',innerRadius =  '38%',backgroundColor = JS("Highcharts.Color('#0CCDD6').setOpacity(0.1).get()"),borderWidth = 0))) %>% 
      hc_yAxis(min = 0,max = 100,lineWidth = 0,tickPositions = list()) %>% 
      hc_plotOptions(solidgauge = list(borderWidth = '34px',dataLabels = list(enabled = FALSE),linecap = 'round',stickyTracking = FALSE)) %>% 
      hc_add_series(name = "Move",borderColor = JS("Highcharts.getOptions().colors[0]"),data = list(list(color = JS("Highcharts.getOptions().colors[0]"),radius = "100%",innerRadius = "100%",y = 80))) %>% 
      hc_add_series(name = "Exercise",borderColor = JS("Highcharts.getOptions().colors[1]"),data = list(list(color = JS("Highcharts.getOptions().colors[1]"),radius = "75%",innerRadius = "75%",y = 65))) %>% 
      hc_add_series(name = "Stand",borderColor = JS("Highcharts.getOptions().colors[2]"),data = list(list(color = JS("Highcharts.getOptions().colors[2]"),radius = "50%",innerRadius = "50%",y = 50)))
  })
}

ui <- bootstrapPage(highchartOutput("mychart"))
shinyApp(ui = ui, server = server)

enter image description here

关于r - Shiny 中的 Highcharts 事件量表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39150415/

相关文章:

r - 用点分割线串并在 R 中分配新的线段 ID

r - 如何确定列是定量数据还是分类数据?

javascript - 如何更改 Highcharts 中的条形颜色

r - data.table 聚合与日期滚动子集

r - 使用 R 包 fBasics 计算样本过剩峰度

javascript - 负轴值使图表出现故障

charts - Highcharts:以对数刻度显示零值

r - 带有条件面板的 Shiny 仪表板中的动态菜单

r - 在Shiny应用程序中删除DT数据表的行

r - 如何在 R shiny 中动态绘制多个绘图网格