Пункты на карте не зависят от цены - PullRequest
0 голосов
/ 28 сентября 2019

Я нанес на карту некоторые точки данных.Карта - король щедрости в Вашингтоне.Я нанес их на карту успешно.Мой набор данных состоит из столбца под названием цены.Их значения колеблются в пределах 0-800000.Я создал новый столбец с именем MapColor для печати значения красного или синего цвета в зависимости от значения цены.Если цена> 400000 красного, иначе синего цвета.

Теперь при построении точек на карте, если MapColor красного цвета, мне нужно отобразить его как красные точки, а если не черные.Вот как я это попробовал.Но цвета изображены только черным.Это то, что я пытался

long <- c(47.5112,47.7210   ,47.3684)
lat <- c(-122.257, -122.319, -122.031)
price <- c(287655,456355,662500,234563)

House <- data.frame(long, lat, price)
House$MapColor  <- ifelse(House$price >=400000, "red", "black")

col <- as.character(House$MapColor)

states <- map_data("state")

wa_df <- states %>%
  filter(region == "washington", subregion == 'king')



counties <- map_data("county")
wa_county <- counties %>%
  filter(region == "washington")

wa_base <-
  ggplot(data = wa_df,
         mapping = aes(x = long, y = lat, group = group)) +   geom_point(data = House,aes(x = long, y = lat),size = 0.5,inherit.aes = FALSE) +
  coord_fixed(1.3) +scale_color_manual(values=col)+
  geom_polygon(color = "black", fill = "gray")
#geom_point(data = House, mapping = aes(x = long, y = lat), color = "red")

wa_base + theme_nothing() +
  geom_polygon(data = wa_county, fill = NA, color = "black") +
  geom_polygon(color = "black", fill = NA)  # get the state border back on top

enter image description here

1 Ответ

1 голос
/ 28 сентября 2019

Пожалуйста, дайте мне знать, если это именно то, что вы имели в виду.

Я думаю, что долго и лат для этих примеров были полностью изменены.Я устанавливаю цвета как красный или синий согласно описанию.

Он отображает многоугольник штата, затем округ, затем добавляет точки, используя color = House$MapColor.

library(ggplot2)
library(ggmap)

lat <- c(47.5112, 47.7210, 47.3684)
long <- c(-122.257, -122.319, -122.031)
price <- c(287655, 456355, 662500)

House <- data.frame(long, lat, price)

House$MapColor <- ifelse(House$price >= 400000, "red", "blue")

wa_df <- map_data("state") %>%
  filter(region == "washington")

wa_county <- map_data("county") %>%
  filter(region == "washington")

ggplot(data = wa_df, mapping = aes(x = long, y = lat, group = group))+  
  geom_polygon(color = "black", fill = NA)+
  geom_polygon(data = wa_county, fill = NA, color = "black")+
  geom_point(data = House, mapping = aes(x = long, y = lat), color = House$MapColor)+
  coord_fixed(1.3)+
  theme_nothing()

state of washington with selected points in color

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...