Highcharts单击函数可显示多个值
在一个闪亮的应用程序中,我使用以下df并创建一个带有Highcharts的图表。 > 我需要一个单击功能来显示多个与hs.event.point相关的值 到目前为止,我发现的是以下函数,它只显示一个值event.point.element。我希望在必要时显示多个。这可能吗 例如,我希望高亮显示的点中有更多的值,如下所示 整个闪亮的应用程序/海图代码:Highcharts单击函数可显示多个值,highcharts,shiny,Highcharts,Shiny,在一个闪亮的应用程序中,我使用以下df并创建一个带有Highcharts的图表。 > 我需要一个单击功能来显示多个与hs.event.point相关的值 到目前为止,我发现的是以下函数,它只显示一个值event.point.element。我希望在必要时显示多个。这可能吗 例如,我希望高亮显示的点中有更多的值,如下所示 整个闪亮的应用程序/海图代码: library(shiny) library(shinydashboard) library(shinydashboardPlus) libra
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyWidgets)
library(DT)
library(RMySQL)
library(dbConnect)
library(dplyr)
library(plotly)
library(shinyTime)
library(shinyalert)
library(tidyr)
library(shinyjs)
library(shinycssloaders)
library(shinytoastr)
library (highcharter)
library(pool)
ui <- fluidPage(
shinyjs::useShinyjs(),
tags$head(
tags$link(rel = "stylesheet", type = "text/css", href = "B2B_notifier.css"),
HTML("\n<script src='https://www.highcharts.com/media/com_demo/js/highslide-full.min.js'></script>
\n<script src='https://www.highcharts.com/media/com_demo/js/highslide.config.js' charset='utf-8'></script>
\n<link rel='stylesheet' type='text/css' href='https://www.highcharts.com/media/com_demo/css/highslide.css'/>")
),
# Main panel for displaying outputs ----
mainPanel(
highchartOutput("Plot", height = 600)
)
)
)
server <- function(input, output) {
# Click Function JS
canvasClickFunction3 <- JS("function (e) {
hs.htmlExpand(null, {
pageOrigin: {
x: e.pageX || e.clientX,
y: e.pageY || e.clientY
},
headingText: 'Nte Information:',
maincontentText: '<i>'+ 'Date:' + ' ' + '</i><b>' + Highcharts.dateFormat('%A, %b %e, %Y, %H:%M:%S', this.x) + '</b>'
+ '<br/><i> ' +
'Nte:' + ' ' + '</i><b>' + event.point.element + '</b>'
+ '<br/> <i>',
width: 330,
});
}")
########### Plot ##########
output$Plot <- renderHighchart ({
highchart() %>%
hc_chart(type = "container",
zoomType= "x"
) %>%
#axis
hc_xAxis(type='datetime',
# categories=c(min2$datetime),
labels = list(rotation = 90,
format = '{value:%e-%b %H:%M}'),
showLastLabel = TRUE
) %>%
hc_yAxis(opposite = FALSE,
title = list(text = "Call Success"),
labels = list(format = "{value}%", style=list(fontSize='13px')), max = 100) %>%
hc_add_series(all_NoTime3, "spline", hcaes(x=datetime, y=percent, group=customer)
)%>%
hc_tooltip(valueDecimals = 1,
borderWidth=2,
xDateFormat= '<b> %y/%m/%d %H:%M:%S <b/>',
crosshairs = TRUE,
backgroundColor=' #eaecee ',
pointFormat = "Customer: <b> {series.name} <br> Success: <b> {point.y} %",
style=list(fontSize='14px')
)%>%
hc_plotOptions(spline =list(lineWidth=2,
allowPointSelect= TRUE,
turboThreshold=100,
cursor= 'pointer',
states=list(hover=list(lineWidth=4)),
marker=list(enabled = F,
radius=1,
symbol="circle")),
series = list(stacking = FALSE,
point =list(
events = list(click = canvasClickFunction3)))
) %>%
hc_credits(enabled = TRUE,
text = "CX & SE Center",
style = list(fontSize = "10px")
) %>%
hc_exporting(enabled = TRUE)
})
}
shinyApp(ui, server)
库(闪亮)
图书馆(shinydashboard)
图书馆(shinydashboardPlus)
图书馆(shinyWidgets)
图书馆(DT)
图书馆(RMySQL)
图书馆(数据库连接)
图书馆(dplyr)
图书馆(绘本)
图书馆(shinyTime)
图书馆(shinyalert)
图书馆(tidyr)
图书馆(shinyjs)
图书馆(shinycssloaders)
图书馆(新科大学)
图书馆(高级特许)
图书馆(泳池)
ui%
#轴心
hc_xAxis(type='datetime',
#类别=c(最小2$datetime),
标签=列表(旋转=90,
格式=“{值:%e-%b%H:%M}”),
showLastLabel=TRUE
) %>%
hc_yAxis(相反=假,
title=列表(text=“呼叫成功”),
labels=list(format=“{value}%”,style=list(fontSize='13px')),max=100)%
hc添加系列(所有非IME3,“样条曲线”,HCAE(x=日期时间,y=百分比,组=客户)
)%>%
hc_工具提示(数值小数=1,
边框宽度=2,
xDateFormat='%y/%m/%d%H:%m:%S',
十字准线=正确,
背景色=“#eaecee”,
pointFormat=“客户:{series.name}
成功:{point.y}%”,
样式=列表(fontSize='14px')
)%>%
hc\U绘图选项(样条曲线=列表(线宽=2,
allowPointSelect=TRUE,
涡轮阈值=100,
游标='指针',
状态=列表(悬停=列表(线宽=4)),
标记=列表(已启用=F,
半径=1,
symbol=“圆圈”),
系列=列表(堆叠=假,
点=列表(
事件=列表(单击=画布单击功能3)))
) %>%
hc_积分(启用=真,
text=“CX&SE中心”,
样式=列表(fontSize=“10px”)
) %>%
hc_导出(启用=真)
})
}
shinyApp(用户界面、服务器)
Hi。你能提供你正在使用的所有软件包的列表吗?这样我就可以在我的RStudio环境中运行你的代码了?那么,你能具体说明你的问题吗?是否要在工具提示中显示多个点的信息?您好,我想单击highchart点并显示多个值。e、 g在上图中,受影响的NTE不止一个。但是,当我使用event.point函数时,每次只显示一个值。使用的图书馆有:图书馆(shiny)图书馆(shinydashboard)图书馆(shinydashboardPlus)图书馆(shinyWidgets)图书馆(DT)图书馆(RMySQL)图书馆(dbConnect)图书馆(dplyr)图书馆(plotly)图书馆(shinyTime)图书馆(shinyalert)图书馆(tidyr)图书馆(shinyjs)图书馆(shinycssloaders)图书馆(highcharter)图书馆(pool)我仍然无法运行您的代码。您能否提供适当的数据或简化上述内容?是否不仅可以简化数据,还可以简化整个代码?此外,我还收到一个错误:“selectedData_Val()中的错误:找不到函数“selectedData_Val”。我更改/提供了原始问题中的数据和整个应用程序代码。你能再测试一下吗?有人能帮忙吗?也许是另一种方式??
library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyWidgets)
library(DT)
library(RMySQL)
library(dbConnect)
library(dplyr)
library(plotly)
library(shinyTime)
library(shinyalert)
library(tidyr)
library(shinyjs)
library(shinycssloaders)
library(shinytoastr)
library (highcharter)
library(pool)
ui <- fluidPage(
shinyjs::useShinyjs(),
tags$head(
tags$link(rel = "stylesheet", type = "text/css", href = "B2B_notifier.css"),
HTML("\n<script src='https://www.highcharts.com/media/com_demo/js/highslide-full.min.js'></script>
\n<script src='https://www.highcharts.com/media/com_demo/js/highslide.config.js' charset='utf-8'></script>
\n<link rel='stylesheet' type='text/css' href='https://www.highcharts.com/media/com_demo/css/highslide.css'/>")
),
# Main panel for displaying outputs ----
mainPanel(
highchartOutput("Plot", height = 600)
)
)
)
server <- function(input, output) {
# Click Function JS
canvasClickFunction3 <- JS("function (e) {
hs.htmlExpand(null, {
pageOrigin: {
x: e.pageX || e.clientX,
y: e.pageY || e.clientY
},
headingText: 'Nte Information:',
maincontentText: '<i>'+ 'Date:' + ' ' + '</i><b>' + Highcharts.dateFormat('%A, %b %e, %Y, %H:%M:%S', this.x) + '</b>'
+ '<br/><i> ' +
'Nte:' + ' ' + '</i><b>' + event.point.element + '</b>'
+ '<br/> <i>',
width: 330,
});
}")
########### Plot ##########
output$Plot <- renderHighchart ({
highchart() %>%
hc_chart(type = "container",
zoomType= "x"
) %>%
#axis
hc_xAxis(type='datetime',
# categories=c(min2$datetime),
labels = list(rotation = 90,
format = '{value:%e-%b %H:%M}'),
showLastLabel = TRUE
) %>%
hc_yAxis(opposite = FALSE,
title = list(text = "Call Success"),
labels = list(format = "{value}%", style=list(fontSize='13px')), max = 100) %>%
hc_add_series(all_NoTime3, "spline", hcaes(x=datetime, y=percent, group=customer)
)%>%
hc_tooltip(valueDecimals = 1,
borderWidth=2,
xDateFormat= '<b> %y/%m/%d %H:%M:%S <b/>',
crosshairs = TRUE,
backgroundColor=' #eaecee ',
pointFormat = "Customer: <b> {series.name} <br> Success: <b> {point.y} %",
style=list(fontSize='14px')
)%>%
hc_plotOptions(spline =list(lineWidth=2,
allowPointSelect= TRUE,
turboThreshold=100,
cursor= 'pointer',
states=list(hover=list(lineWidth=4)),
marker=list(enabled = F,
radius=1,
symbol="circle")),
series = list(stacking = FALSE,
point =list(
events = list(click = canvasClickFunction3)))
) %>%
hc_credits(enabled = TRUE,
text = "CX & SE Center",
style = list(fontSize = "10px")
) %>%
hc_exporting(enabled = TRUE)
})
}
shinyApp(ui, server)