Карта, использующая ggplotly, не отображается правильно (R) - PullRequest
0 голосов
/ 31 августа 2018

Я сделал карту, используя ggplot, и построил ее, используя ggplotly.

Когда он находится в ggplot, он выглядит так:

enter image description here

Но когда он отображается с помощью ggplotly, он выглядит так:

enter image description here

Как вы можете видеть, отдельные области как бы растекаются повсюду, без четких границ, и заливка выглядит нечеткой, как будто это много линий, а не заливка. Кроме того, во всплывающих подсказках в основном говорится что-то вроде «трассировки 11», причем очень случайные отображают соответствующие данные.

Это ядро ​​кода, который я использую:

random_map <- ggplot()  +
  geom_map(data = random_data, aes(map_id = random_data$ï..CCG, fill = random_data$Number),  
      map = CCGshape) +
  geom_polygon (data = CCGshape, aes(x = long, y = lat, group = group),
      colour = "azure4", size = 0.01, fill = NA) +
  expand_limits(x = CCGshape$long, y = CCGshape$lat) +
  coord_equal ()

random_plotly <- ggplotly(random_map)

Шейп-файл, который я использую, здесь .

И это заголовок данных, которые я использую:

structure(list(Number = c(1, 0.4, 0.9, 0.3, 0.3, 0.7), 
CCG = c("NHS Airedale, Wharfedale and Craven CCG", 
"NHS Barnsley CCG", "NHS Bassetlaw CCG", "NHS Bradford Districts CCG", 
"NHS Calderdale CCG", "NHS Bradford City CCG")), .Names = c("Number", 
"CCG"), row.names = c(NA, 6L), class = "data.frame")

Есть идеи, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Следуя совету @ bk18 и сюжетному сайту , я сделал следующий простой пример. Я использовал шейп-файл в ссылке, которую вы разместили, поэтому я думаю, что он работает для построения карты, которую вы ищете. Я произвольно заполнил поле ccg18cd, но вы можете изменить заливку по своему желанию.

library(plotly)
library(sf)

ccg <- sf::st_read("Clinical_Commissioning_Groups_April_2018_Ultra_Generalised_Clipped_Boundaries_in_England.shp")

ccg_plot <- ggplotly(ggplot(ccg) + geom_sf(aes(fill = ccg18cd)))

Создает следующий график с помеченными подсказками и заполненными полигонами.

ccg_plotly_plot

0 голосов
/ 31 августа 2018

Кажется, что geom_map не поддерживается (насколько я могу судить) заговором. Вместо этого посмотрите здесь . Есть пакет sf, который описывает новый geom с именем geom_sf, который может решить вашу проблему. На сайте plotly приведены примеры geom, которые поддерживаются здесь .

Также стоит отметить, что ggplotly является своего рода обходом того факта, что, на мой взгляд, синтаксис ggplot намного более понятен, чем сюжетный. Тем не менее, если вы хотите, чтобы графики хорошо работали в реактивном контексте, вам лучше просто делать это так, как вам это нужно, то есть что-то содержащееся в одном из этих учебных пособий.

...