geom_point, цвет по фактору - PullRequest
       32

geom_point, цвет по фактору

0 голосов
/ 25 февраля 2020

Я пытаюсь создать несколько карт в R, используя ggplot2. Я достиг точки, где у меня есть конечная карта, которую я хочу пространственно, но мне нужно изменить форму и цвет точек в соответствии с категориальными факторами.

В этом контексте фрейм данных называется genAQ. Каждый ряд содержит долготу и широту, качество (высокое / низкое) и виды (3 сп). В конце концов, мне бы хотелось, чтобы цвет точки соответствовал видам, а форма точки соответствовала качеству.

#correct spatial map, but all points are black. This code works perfectly.
ggplot(data=world) +
  geom_sf() +
  geom_point(data=genAQ, aes(x=Lon, y=Lat), size=1,
             shape = 19, col = "black") +
  geom_polygon(data=lakes10, aes(long, lat, group = group), fill="lightblue") +
  coord_sf(xlim = c(133.75, 140.52), ylim = c(-26.75, -31.30), expand=F)

Теперь я пытаюсь изменить цвет, используя виды как фактор. Если бы я кодировал с использованием функции plot, я бы написал это как

plot(genAQ$Lat~genAQ$Lon, pch=19, col=genAQ$Species). 

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

ggplot(data=world) +
  geom_sf() +
  geom_point(data=genAQ, aes(x=Lon, y=Lat), size=1,
             shape = 19, col = genAQ$Species) +
  geom_polygon(data=lakes10, aes(long, lat, group = group), fill="lightblue") +
  coord_sf(xlim = c(133.75, 140.52), ylim = c(-26.75, -31.30), expand=F)

It возвращается с ошибкой:

Ошибка в grDevices :: col2rgb (color, TRUE): неверное имя цвета 'Amytornis modestus indulkanna'.

Так ясно ggplot не понимает тот же язык, который я использую в функции plot(), так как он все еще пытается прочитать цвет как цвет, а не как категориальный фактор. Я пробовал другие методы, которые я видел в StackOverflow, но я не могу найти ответ на кажущуюся простой проблему.

...