Ggplot2 geom_raster () проблема при построении данных. - PullRequest
0 голосов
/ 14 апреля 2020

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

  longitude latitude o3_col3(ppb)
1       -10       35     57.05763          
2       -10       34     61.53371
3       -10       33     51.24268
4       -10       32     50.26531
5       -10       31     50.26531
6       -10       30     42.59164

И я пытаюсь построить график с использованием ggplot следующим образом:

ggplot(ascplot, aes(x=longitude, y=latitude, fill = as.numeric("o3_col3(ppb)"))) + 
  geom_raster() + 
  scale_fill_gradientn(colours=rainbow(7))

Сначала проблема заключалась в том, что имя столбца заключалось в квадратные скобки, а во втором:

Error: Discrete value supplied to continuous scale

Но, похоже, исправлено с помощью as.numeri c ().

Однако теперь появляется следующая ошибка:

Warning message:
In FUN(X[[i]], ...) : NAs introduced by coercion

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

Моя цель - построить значение столбца озона на широтах / долготах.

1 Ответ

0 голосов
/ 14 апреля 2020

Это было самое простое решение:

изменено

# plot raster
ggplot(ascplot, aes(x=longitude, y=latitude, fill = as.numeric("o3_col3(ppb)"))) + 
  geom_raster() + 
  scale_fill_gradientn(colours=rainbow(7))

на

# plot raster
ggplot(ascplot, aes(x=longitude, y=latitude, fill = as.numeric(ascplot$"o3_col3(ppb)"))) + 
  geom_raster() + 
  scale_fill_gradientn(colours=rainbow(7))

Не знал, что вам нужно снова проиндексировать в data.frame при использовании кавычек в as.numeri c ().

...