Я собрал пример с игрушкой ниже.Добавить береговую линию при построении граненных массивов в R с помощью ggplot2
Мой вопрос, как я могу добавил береговые (так же, как вы можете получить от maps
пакета ограненных участков ниже?
Я могу сделать это с contour()
и filled.contour()
, но я не уверен, как при использовании фасетов слоев идти об этом с ggplot2
-style черчения. у меня нет никаких проблем замышляют побережья, когда у меня есть один сюжет.
Вы можете скачать NetCDF файл «sst.mon.anom.nc» из NOAA here (~ 10 мб).
library(ncdf4)
library(ggplot2)
library(reshape)
# The data is 5x5 degree reconstructed sea-surface temperature anomalies.
# Exciting stuff.
sst <- ncvar_get(nc = nc_open("sst.mon.anom.nc"),
varid = "sst",
start = c(1, 1, 1),
count = c(-1, -1, -1))
# Drawing out four layers from the sst array.
d1 <- melt(sst[, , 1])
d1$drought <- rep("d1", dim(d1)[1])
d3 <- melt(sst[, , 3])
d3$drought <- rep("d3", dim(d3)[1])
d5 <- melt(sst[, , 5])
d5$drought <- rep("d5", dim(d5)[1])
d6 <- melt(sst[, , 6])
d6$drought <- rep("d6", dim(d6)[1])
# Combining the layers into a single data.frame:
d <- rbind(d1, d3, d5, d6)
names(d) <- c("lon", "lat", "ERSST", "layer")
p <- ggplot(data = d, aes(x = lon, y = lat, fill = ERSST))
print(p + geom_tile() +
scale_fill_gradient2(high = "red", low = "blue") +
facet_wrap(~ layer))
Большое спасибо!
P.S. Кроме того, я просто заметил, что упорядочение цветовой легенды перевернуто. Hmm ...
Есть ли уловка для установки библиотеки 'ncdf4'? При попытке установить следующее сообщение: «ERROR: сбой конфигурации для пакета« ncdf4 »и« установка пакета «ncdf4» имела ненулевой статус выхода ». – Jubbles
Это может быть проблема зависимости. Я считаю, что он использует библиотеку netcdf> 4.1 как системное требование. http://cran.r-project.org/web/packages/ncdf4/index.html – brews
@Brews просто сохраняет данные, используя 'save', что должно позволить другим людям использовать' load', чтобы загрузить его в их рабочее пространство. –