gpt4 book ai didi

r - R中的极地/地形图

转载 作者:行者123 更新时间:2023-12-02 06:28:22 30 4
gpt4 key购买 nike

我正在尝试生成与此类似的立体 map :

enter image description here

我想做的是添加:

  • 坐标
  • 格线

  • 既可以在基数R中使用,也可以在ggplot2中使用。任何帮助表示赞赏。

    我到目前为止的尝试
    library(rgdal)
    library(raster)

    proj <- "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs"

    data("wrld_simpl", package = "maptools")
    wm <- crop(wrld_simpl, extent(-180, 180, 45, 90))
    plot(wm)

    enter image description here
    wm <- spTransform(wm, CRSobj = CRS(proj))
    plot(wm)

    enter image description here

    最佳答案

    这是一个非常复杂的 map ,需要重现,而使其工作所需的所有细节似乎都超出了单个问题的范围。但是,这是您需要的大多数东西。

    使用ggplot在基础图形中更容易做到这一点。但是,这是一个非常复杂的图形。

    我不得不使用一些技巧使其工作。特别是,从coord_map生成的轴并没有在绘图的边缘结束,因此我不得不手动删除轴,然后使用下面的geom_textgeom_segment行重新创建它们。

    library(rgdal)                                                                                                      
    library(raster)
    library(ggplot2)

    # Defines the x axes required
    x_lines <- seq(-120,180, by = 60)

    ggplot() +
    geom_polygon(data = wm_ggplot, aes(x = long, y = lat, group = group), fill = "grey", colour = "black", alpha = 0.8) +

    # Convert to polar coordinates
    coord_map("ortho", orientation = c(90, 0, 0)) +
    scale_y_continuous(breaks = seq(45, 90, by = 5), labels = NULL) +

    # Removes Axes and labels
    scale_x_continuous(breaks = NULL) +
    xlab("") +
    ylab("") +

    # Adds labels
    geom_text(aes(x = 180, y = seq(55, 85, by = 10), hjust = -0.2, label = paste0(seq(55, 85, by = 10), "°N"))) +
    geom_text(aes(x = x_lines, y = 39, label = c("120°W", "60°W", "0°", "60°E", "120°E", "180°W"))) +

    # Adds axes
    geom_hline(aes(yintercept = 45), size = 1) +
    geom_segment(aes(y = 45, yend = 90, x = x_lines, xend = x_lines), linetype = "dashed") +

    # Change theme to remove axes and ticks
    theme(panel.background = element_blank(),
    panel.grid.major = element_line(size = 0.25, linetype = 'dashed',
    colour = "black"),
    axis.ticks=element_blank()) +
    labs(caption = "Designed by Mikey Harper")

    enter image description here

    关于r - R中的极地/地形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48816773/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com