Ich versuche festzustellen, angeklickt Land in einer Weltkarte in glänzend angezeigt.Nicht angezeigte Länder in Plotly shift event_data return (Glänzend)
I verwendet this example for click event und this one for display und dieser Code funktioniert:
library(shiny)
library(plotly)
library(countrycode)
df <- countrycode_data[,c("iso3c", "country.name")]
df <- df[complete.cases(df),]
df$random <- rnorm(dim(df)[1])
shinyApp(
ui = shinyUI(fluidPage(plotlyOutput("plot"), textOutput("text"))),
server = shinyServer(function(input, output) {
output$text <- renderPrint({
d <- event_data("plotly_click")
ifelse(is.null(d),
"No selection",
as.character(df[as.numeric(d[2])+1,"country.name"]))
})
output$plot <- renderPlotly({plot_ly(df, z=~random, locations=~iso3c,
text=~country.name, type="choropleth")})
}))
Wenn ich auf klicken Afghanistan, die das erste Land des Datensatzes ist, wählt er es richtig
Aber wenn ich auf Albanien das ist das dritte, es gibt Aland-Inseln zurück, das das zweite ist und das von Plotly nicht angezeigt wird.
So vermute ich, dass die Auswahl auf einer Liste der angezeigten Einträge berechnet wird, die ich auf dem Original-Datensatz Projekt
(die alle Länder umfasst) I auf Github die Länderliste von Plotly verwendet erfolglos zu finden versucht, , die ich verwenden könnte, um unbekannte Länder zu entfernen und die Schicht zu reparieren.
[country] (https://github.com/vincentarelbundock/countrycode) ziemlich nett ist. – alistaire
Dank @alistaire, aber es enthält auch Amerikanisch-Samoa (ASM) und Andorra (AND) – HubertL
, die es gut behandelt. – alistaire