R растровый сюжет даже легенда - PullRequest
0 голосов
/ 10 июня 2018

Я пытался использовать файл NetCDF для рисования растровой карты в R с использованием пакетов raster и ncdf4.

Диапазон моих данных слишком велик, но почти мои данные распределяются в пределах 0-2000,Вы можете посмотреть на гистограмму моих данных:

enter image description here

enter image description here

Поэтому я хочуНарисуйте график с интервалом 200, как seq(0, 2000, 200).Но когда я использовал эти интервалы, значения, которые больше 2000, были распознаны как NA при рисовании графика.Эти большие значения печатаются как прозрачные при рисовании.

enter image description here

График, использующий четные интервалы:

enter image description here

Я пытался дать большие интервалы к сюжету, как breaks = c(seq(0, 1500, 100), 40000), но легенда сюжета выглядит некрасиво.

Одним словом, я хочу сюжет с четным интервалом и легендой.Что-то вроде открытого диапазона, а не закрытого диапазона.

Следующий график - мой желательный график, реализованный другим программным обеспечением.Как я могу решить свои проблемы, используя R?

enter image description here

Мой код здесь:

    library(rgdal)
    library(raster)
    library(ncdf4)
    library(rasterVis)
    library(sp)

    ncname <- "output.nc"
    ncdata <- nc_open(ncname)
    bb <- raster(ncname)

    hist(bb)
    hist(bb, xlim = c(0, 2000), breaks = seq(0, 40000, 500))

    plot(bb)
    plot(bb, xlim = c(25, 53), asp = 1.5,  breaks = c(seq(0, 1500, 100), 40000), col = topo.colors(20)) 

    plot(bb, legend.only = FALSE, zlim = c(0, 2000), col = topo.colors(20), asp = 1.5,
         legend.width = 1, legend.shrink = 1.0,
         axis.args = list(at = seq(0, 2000, 100),
         labels = seq(0, 2000, 100)))
...