Ich habe ein Problem mit einigen Grundstücken in Rshiny. Ich möchte einige Informationen zur xAxis hinzufügen. Dieser Beitrag wurde bearbeitet, weil ich fast eine Lösung gefunden habe, aber wenn Sie das Original-Skript wollen, kann ich es bereitstellen. HierInformationen zu xAxis hinzufügen - r glänzend
ist ein reproduzierbares Beispiel:
library("shiny")
library("highcharter")
data(citytemp)
ui <- fluidPage(
h1("Highcharter EXAMPLE"),
fluidRow(
column(width = 8,
highchartOutput("hcontainer",height = "500px")
),
selectInput("option", label = "", width = "100%",
choices = c("Tokyo", "NY"))
)
)
server <- function(input, output) {
data <- citytemp[,c("month","tokyo","new_york")]
data = data[data$month%in%c("Dec","Jan","Feb","Mar"),]
choose_Option <- reactive({
sort_option <- input$option
if(sort_option=="Tokyo"){
data = data[order(data$tokyo),]
}
else{
data = data[order(data$new_york),]
}
return(data)
})
output$hcontainer <- renderHighchart({
data = choose_Option()
data = data[1:3,]
chart <- highchart() %>%
hc_chart(type = "bar") %>%
hc_title(text = "Monthly Average Temperature for main cities") %>%
hc_subtitle(text = "Source: WorldClimate.com") %>%
hc_xAxis(categories = data$month ,
labels=list(
formatter=JS("function() {
return 'Tokyo' + '<br>' + this.categories +' ' + '<br>'+'NY' + '</br>';
}"))) %>%
hc_yAxis(title = list(text = "Temperature (C)"))
hc <- chart %>% hc_add_series(yAxis=0,name="Tokyo",data = data$tokyo,colorByPoint=TRUE)
hc <- hc %>% hc_add_series(yAxis=0,name="NY",data = data$new_york,colorByPoint=TRUE)
return(hc)
})
}
shinyApp(ui = ui, server = server)
Hier ist eine Darstellung, was Ich mag würde haben:
Die Lösung fast funktioniert, aber ich vor zwei Problemen: 1) Wie kann ich R bitten, den Kategorienamen zu erhalten? Ich denke, dass diese Kategorie nicht funktioniert ... und 2) warum wird der lange Whitespace nicht berücksichtigt?
Lassen Sie mich wissen, wenn Sie eine Klarstellung benötigen. Vielen Dank, Best, Madzia
Könnte ein Bild eines erwarteten Chart hinterlassen? Sie sollten das Format von Achsenbeschriftungen ändern oder dataLabels (Punktbeschriftungen) verwenden können. Beispielhafte Daten könnten ebenfalls hilfreich sein. –
Hallo Kacper, danke für deine Nachricht - ich habe gerade den Post bearbeitet, kannst du das Bild sehen? – Madzia
Wird dies nahe genug sein? http://jsfiddle.net/7kk1ku9v/2/ Es verwendet dataLabels mit Format, um Seriennamen anstelle von Standard-y-Werten anzuzeigen. –