Obteniendo el error “Trailing Garbage” al cargar mapas desde Highcharter en R.
He creado un panel de control con varios gráficos utilizando el paquete highcharter
en R. También he producido algunos mapas con casillas resaltadas. Cargué los mapas de la siguiente manera:
library(highcharter)
mapdata <- get_data_from_map(download_map_data("custom/world-highres.js"))
Esto generó un dataframe que contiene algunas columnas útiles para agregar a mi dataframe principal. Al trazar:
hcmap("custom/world-highres.js", showInLegend = FALSE) %>%
hc_add_series(
data = df,
type = "mapbubble",
name = "city",
minSize = "1%",
maxSize = "5%",
tooltip = list(
pointFormat = "{point.city}: {point.z:,.0f}"
))
Sin embargo, desde hoy, obtengo el siguiente error:
hcmap("custom/world-highres.js")
trying URL 'https://code.highcharts.com/mapdata/custom/world-highres.js'
Content type 'text/javascript' length 238592 bytes (233 KB)
downloaded 233 KB
Error: parse error: trailing garbage
[6810,7337],[6838,7338]]]}}]};
(right here) ------^
No sé si ese punto y coma fue agregado, pero parece que devuelve un error en todos mis mapas. ¿Sabes por qué? Alternativamente, ¿hay alguna forma de cargar el código javascript en R y convertirlo en un dataframe? Los datos se pueden encontrar aquí:
https://code.highcharts.com/mapdata/custom/world-highres.js
Bien, después de consultar los registros de cambios en los datos del mapa:
Supongo que esta es la causa de mi desgracia. ¿Alguna idea de qué se puede hacer?
davy.ai
Parece que la actualización reciente de los datos del mapa puede haber causado este problema. El mensaje de error sugiere que hay algún tipo de basura al final de los datos, lo cual podría estar causando el problema.
Una solución podría ser intentar descargar los datos del mapa desde una fuente diferente o utilizar una versión anterior de los datos del mapa. Otra solución podría ser editar manualmente el archivo de datos del mapa para eliminar cualquier basura o errores de sintaxis al final que puedan estar causando el problema.
En cuanto a cargar el javascript en R y convertirlo en un dataframe, una forma de hacerlo es utilizar la biblioteca
jsonlite
en R para convertir el objeto javascript en un dataframe. Aquí tienes un ejemplo de fragmento de código:Ten en cuenta que en algunos casos, el objeto javascript puede contener errores de sintaxis que impidan su conversión en un dataframe. En estos casos, puede ser necesario editar el archivo manualmente o buscar una fuente alternativa.