【问题标题】:R + OpenStreetMap + ggplot2 + change tick marksR + OpenStreetMap + ggplot2 + 更改刻度线
【发布时间】:2013-10-10 17:49:47
【问题描述】:

我正在尝试操纵英国地图中的轴刻度线

map = openmap(upperLeft = c(60,-11), 
              lowerRight = c(49.5,3), type="mapquest-aerial")
map2 <- openproj(map)
autoplot(map2) +
  xlab("Longitude") + ylab("Latitude")

我尝试添加这样的内容:

  scale_x_continuous(breaks=seq(-10,2,2), labels=paste(c(rev(seq(0,10,2)),2),c(rep("°W",5),"°","°E"),sep=""))

我会收到一条错误消息: “x”的比例已存在。为“x”添加另一个比例,它将替换现有比例。

(可能是因为在地图对象中设置了比例),虽然它确实附加了标签,但轴会发生偏移,并且在绘图的左右两侧会产生一个间隙: 有谁知道我怎样才能摆脱这个灰色空间???

R 版本 3.0.0 平台:i386-w64-mingw32/i386(32位)

【问题讨论】:

    标签: r ggplot2 openstreetmap


    【解决方案1】:

    您收到关于已经存在的 x 轴的警告,因为函数 autoplot.OpenStreetMap()(实际上由 autoplot() 调用)已经定义了 scale_x_continuous()。所以你正在制作新的x轴。

    您只需将参数expand=c(0,0) 添加到您的缩放函数即可移除灰色区域。此参数包含在autoplot() 使用的缩放函数中。

     +scale_x_continuous(breaks=seq(-10,2,2), labels=paste(c(rev(seq(0,10,2)),2),
                                    c(rep("°W",5),"°","°E"),sep=""),expand=c(0,0))
    

    【讨论】:

    • 太棒了,非常感谢!不知道有没有办法直接操作autoplot来避免报错信息?
    • 这不是错误,而是警告。您为此类地图创建自己的功能,但您仍需要每次都对其进行调整。因此,请使用您现有的方法并忽略警告。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    相关资源
    最近更新 更多