Ich habe eine einfache App erstellt, die ein selectInput
Widget und ein Balkendiagramm in rCharts
enthält. Was ich erreichen möchte, ist, die Handlung mit einer Legende mit allen drei Büchern zu erstellen, aber standardmäßig nur ein Buch anzuzeigen, das vom Widget ausgewählt wird. Wenn ich also von Book1
zu Book2
wechsle, zeigt das Diagramm anfänglich nur Informationen über Book2
, aber das Legendenplot enthält Book1
und Book3
(beide standardmäßig deaktiviert) - wenn ich möchte, kann ich jederzeit Book1
oder Book3
wählen. Ich glaube, es ist JS-Problem, also habe ich versucht, es zu lösen, aber nichts hat sich geändert. Irgendwelche Ideen, wie man damit umgeht? Vielen Dank.Legenden bearbeiten durch selectInput - multibarChart in rCharts
library(shiny)
library(rCharts)
books <- c('Book1','Book2','Book3')
df <- data.frame(book = rep(books, each = 10),
year = rep(2000:2009,3),
sale = sample(100:1000, 30, replace = T))
ui <- shinyUI(
fluidPage(
HTML("
<script>
$(document).ready(function() {
if ($(\"select#book div.selectize-dropdown div[data-value='Book1']\").hasClass('selected')) {
console.log('true');
$('#nvd3Plot .nv-legend g.nv-series').eq(1).addClass('disabled');
$('#nvd3Plot .nv-legend g.nv-series').eq(2).addClass('disabled');
}
else {
console.log('false');
}
});
</script>"),
selectInput('book', 'Select a book', choices = books, selected = 'Book1'),
showOutput("nvd3Plot", "nvd3")
)
)
server <- function(input, output, session) {
output$nvd3Plot <- renderChart2({
chartObject <- nPlot(sale ~ year, group = "book", data = df, type = "multiBarChart")
chartObject$chart(
showControls = FALSE
)
return(chartObject)
})
}
shinyApp(ui, server)
aktualisieren
ich diese solution gefunden, aber ich habe wirklich keine Ahnung, wie es
Ich habe noch nicht gefunden, wie es gemacht werden könnte, aber wenn Sie hier [nvd3] suchen (ich habe noch nicht gefunden), könnten Sie _Multibar Chart mit Controls_ in dem Beispiel sehen, in dem sie controle verwenden, um den Datensatz auf dem zu filtern Sex (männlich, weiblich). Vielleicht ist ihr etwas auf diese Art zu tun. –
Könnten Sie mir bitte diesen Link schicken? – Nicolabo
Mein Fehler falsch einfügen. http://ramnathv.github.io/posts/rcharts-nvd3/ –