Javascript 使用highcharter或Rcharts将图例添加到饼图中
我需要在一个闪亮的应用程序(highcharter、rcharts等)上使用highcharts包为R添加一个图例到piechart 例码Javascript 使用highcharter或Rcharts将图例添加到饼图中,javascript,r,highcharts,rcharts,Javascript,R,Highcharts,Rcharts,我需要在一个闪亮的应用程序(highcharter、rcharts等)上使用highcharts包为R添加一个图例到piechart 例码 library("shiny") library("highcharter") data(citytemp) ui <- fluidPage( h1("Highcharter Demo"), fluidRow( column(width = 4, class = "
library("shiny")
library("highcharter")
data(citytemp)
ui <- fluidPage(
h1("Highcharter Demo"),
fluidRow(
column(width = 4, class = "panel",
selectInput("type", label = "Type", width = "100%",
choices = c("line", "column", "bar", "spline")),
selectInput("stacked", label = "Stacked", width = "100%",
choices = c(FALSE, "normal", "percent")),
selectInput("theme", label = "Theme", width = "100%",
choices = c(FALSE, "fivethirtyeight", "economist",
"darkunica", "gridlight", "sandsignika",
"null", "handdrwran", "chalk")
)
),
column(width = 8,
highchartOutput("hcontainer",height = "500px")
)
)
)
server = function(input, output) {
output$hcontainer <- renderHighchart({
hc <- hc_demo() %>%
hc_rm_series("Berlin") %>%
hc_chart(type = 'pie')
if (input$stacked != FALSE) {
hc <- hc %>%
hc_plotOptions(showInLegend=TRUE,dataLabels=FALSE)
}
hc
})
}
shinyApp(ui = ui, server = server)
库(“闪亮”)
图书馆(“高宪章”)
数据(citytemp)
ui首先,在您的示例中,hc\u demo()
是一个折线图示例,因此,由于数据没有按照饼图的要求进行编码(y
和name
值),因此仅通过更改图表的类型无法正常工作
下面是一个原始示例。正如您在javascript示例中所示,您只需要强制显示图例,因为对于饼图,默认值为false
。这是通过使用plotOptions->pie->showInLegend=TRUE实现的
library(highcharter)
highchart() %>%
hc_chart(type = "pie") %>%
hc_plotOptions(
series = list(showInLegend = TRUE)
) %>%
hc_add_series(data = list(
list(y = 3, name = "cat 1"),
list(y = 4, name = "cat 2")
)
)
最后,我建议您检查。首先,在您的示例中,hc\u demo()
是一个折线图示例,因此,由于数据没有按照饼图的要求进行编码(y
和name
值),因此仅通过更改图表的类型无法正常工作
下面是一个原始示例。正如您在javascript示例中所示,您只需要强制显示图例,因为对于饼图,默认值为false
。这是通过使用plotOptions->pie->showInLegend=TRUE实现的
library(highcharter)
highchart() %>%
hc_chart(type = "pie") %>%
hc_plotOptions(
series = list(showInLegend = TRUE)
) %>%
hc_add_series(data = list(
list(y = 3, name = "cat 1"),
list(y = 4, name = "cat 2")
)
)
最后,我建议您检查。您可以尝试编写自己的HTML图例,如以下所示:@SebastianBochan我会让您知道它是如何运行的。我可能可以将其合并到R或shiny中。对不起,我不熟悉R宝石等。)您可以尝试编写自己的HTML图例,如:@SebastianBochan我会让您知道它是如何运行的。我可能可以将其合并到R或shiny中。对不起,我不熟悉R宝石等。)好的,简洁的例子,好的,简洁的例子。