Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将自定义值设置为条形图中的标签(Rshiny)_R_Highcharts_Shiny - Fatal编程技术网

将自定义值设置为条形图中的标签(Rshiny)

将自定义值设置为条形图中的标签(Rshiny),r,highcharts,shiny,R,Highcharts,Shiny,我有一个包含多个列的数据框架。我用其中一列的值(Ex Count)绘制了一个条形图,我想显示一个标签,它不是“Count”列的值,而是“Rank”列的值。 我不知道如何替换数据标签中的“point.y” 以下是一个可复制的示例: library("shiny") library("highcharter") data <- data.frame(Name = c("A", "B", "C", "D", "E"),Count=c(38,44,23,29,26), Rank=10:14)

我有一个包含多个列的数据框架。我用其中一列的值(Ex Count)绘制了一个条形图,我想显示一个标签,它不是“Count”列的值,而是“Rank”列的值。 我不知道如何替换数据标签中的“point.y”

以下是一个可复制的示例:

library("shiny")
library("highcharter")

data <- data.frame(Name = c("A", "B", "C", "D", "E"),Count=c(38,44,23,29,26), Rank=10:14)

ui <- fluidPage(
fluidRow(
    column(width = 8,
           highchartOutput("hcontainer",height = "500px")
    )
)
)

server <- function(input, output) {

output$hcontainer <- renderHighchart({
    chart <-  highchart() %>% 
        hc_chart(type = "bar") %>% 
        hc_yAxis(title = list(text = "Count"))

    chart <- chart %>% 
        hc_add_series(name="",data = data$Count, dataLabels = list(enabled = TRUE, format='{point.y}'))

    return(chart)
})
} 

shinyApp(ui = ui, server = server)
库(“闪亮”)
图书馆(“高宪章”)
数据Sam

最简单的方法是使用
hchart
功能

hchart(data, "bar", hcaes(x = Name, y = Count),
       dataLabels = list(enabled = TRUE, format='{point.Rank}'))

这将all数据发送到highchart对象,以便您可以通过
point.Rank
提取每个点/行的信息(用highcharts/R语言)

另一种方式是:

highchart() %>% 
  hc_yAxis(title = list(text = "Count")) %>% 
  hc_xAxis(categories = data$Name) %>% 
  hc_add_series(data = data, type = "bar", hcaes(x = Name, y = Count),
                dataLabels = list(enabled = TRUE, format='{point.Rank}'))

在这里,您再次发送all数据:
hc\u add\u series(data=data,…)
,而不仅仅像您那样发送计数值。当您使用带有数据帧的
hc\u add\u series
函数(是一个通用函数!)时,您需要在映射参数中使用
hcaes(x=Name,y=Count)
来指定如何使用图表中的每个变量。

!非常感谢不客气。请记住,您可以接受答案,以帮助社区的其他人快速找到答案。在答案中,计票点附近有一个复选符号: