小编Pas*_*cal的帖子

多边形以不同的缩放级别很好地裁剪ggplot2/ggmap

我正在玩空间数据集(主要是城市某个区域的多边形),我想根据不同的缩放级别生成不同的视图.当我的绘图边界框大于包含多边形的区域时,一切都很好.但是在放大时,一些多边形会获得位于边界框外部的部分,并且这些多边形的输出会出现问题:边界框外部的多边形点不会显示,从而导致多边形未在边界框限制处被裁剪(正如预期的那样)但不考虑.多边形不完整,多边形只连接图上剩余的点(正常行为,但不是必需的).

一个值得所有讨论的好例子,这是一个问题的演示:

#initialisation
library(ggmap)
require(MASS)

data(zips)

# overview
ggmap(get_map(maptype = "satellite", zoom = 8), extent = "device") +
        geom_polygon(aes(x = lon, y = lat, group = plotOrder),
                data = zips, colour = NA, fill = "red", alpha = .5) +
        geom_path(aes(x = lon, y = lat, group = plotOrder),
                data = zips, colour = "white", alpha = .7, size = .4)

# problematic view    
x11()
ggmap(get_map(maptype = "satellite", zoom = 12), extent = "device") +
        geom_polygon(aes(x = lon, y = …
Run Code Online (Sandbox Code Playgroud)

r polygon ggplot2 ggmap

21
推荐指数
1
解决办法
5217
查看次数

R中的区间集代数(并集,交集,差异,包含......)

我想知道在R中是否存在适当的区间操作和比较框架.

经过一些搜索,我只能找到以下内容: - 基本包中的函数findInterval.(但我很难理解) - 这里和那里有关于联合和交叉的答案(特别是:http://r.789695.n4.nabble.com/Union-Intersect-two-continuous-sets-td4224545.html)

您是否知道实施一套全面的工具以轻松处理区间操作中的频繁任务,如包含/ setdiff/union/intersection /等.(例如,请参阅此处获取功能列表)?或者你会有建议这种方法的建议吗?

以下是我这方面的一些草案.它肯定很尴尬,仍然有一些错误,但它可能说明我在寻找什么.


关于所采用的选项的初步方面 - 应无缝地处理间隔或间隔设置 - 间隔表示为2列data.frames(下边界,更高边界),在一行上 - 间隔集表示为2列,有几行 - 第三行可能需要列来识别间隔集


联盟

    interval_union <- function(df){   # for data frame

    df <- interval_clean(df)
    if(is.empty(df)){
        return(as.data.frame(NULL))
    } else {

        if(is.POSIXct(df[,1])) {
            dated <- TRUE
            df <- colwise(as.numeric)(df)
        } else {
            dated <- FALSE
        }
        M <- as.matrix(df)

        o <- order(c(M[, 1], M[, 2])) 
        n <- cumsum( rep(c(1, -1), each=nrow(M))[o]) 
        startPos <- c(TRUE, n[-1]==1 & n[-length(n)]==0) 
        endPos <- c(FALSE, n[-1]==0 & …
Run Code Online (Sandbox Code Playgroud)

r intervals

6
推荐指数
1
解决办法
2983
查看次数

标签 统计

r ×2

ggmap ×1

ggplot2 ×1

intervals ×1

polygon ×1