小编Jim*_*Jim的帖子

ggplot2按形状分隔图例

# Data:  
zz <- "Small Large  Lat  Long 
1       51   2       11    10 
2       49   0       12    11  
3       77   7       13    13  
4       46   5       12    15     
5       32   6       13    14      
6       54   3       15    17
7       68   0       14    10
8       39   5       12    13"

Data <- as.data.frame(read.table(text=zz, header = TRUE))
Run Code Online (Sandbox Code Playgroud)

我成功绘制了一个连续变量,一个比率(小/大)。

虽然,“大”变量中存在一些0。发生这种情况时,我只想绘制“小”数字,因为不可能有比率。为此,我需要执行以下操作:

ratio.both <- Data %>% 
  filter(Large > 0) %>% 
  mutate(Ratio = Small/Large)

only.sml<- Data %>% 
  filter(Large < 1)
Run Code Online (Sandbox Code Playgroud)

然后,将它们都绘制在同一张图上(按较长的数据):

ggplot() +
  geom_point(data = ratio.both,
             aes(x …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

4
推荐指数
1
解决办法
42
查看次数

从空间点数据创建边界多边形以在传单中绘制

你好(这里是测图新手!)

我已经进行了很好的搜索,但找不到解决这个似乎很棘手的问题的方法。

我有基本的 XY(坐标)数据:

位置/土地多边形(shapefile)

我想要做的是根据不重叠且具有一定大小限制的坐标数据创建相邻的多边形(因此它们不会永远延伸到海洋中)。

请原谅我糟糕的 MS Paint 技能,但期望的结果是这样的:

在此输入图像描述

我有一个标记陆地/海洋界面的多边形,因此多边形也不能重叠。

我正在使用 Leaflet 使这些地图具有交互性,它不是为了进行任何统计分析,而是为了提供概述。

最终目标是让每个多边形都由变量(例如温度)着色,并覆盖生态数据。

一些示例数据:

    > data[1:10,]
   Station  Lat_dec  Long_dec Surface_T
1      247 50.33445 -2.240283     15.19
2      245 50.58483 -2.535217     14.11
3      239 50.16883 -2.509250     15.41
4      225 50.32848 -2.765967     15.34
5      229 50.63900 -2.964800     14.09
6      227 50.33757 -3.303217     15.12
7      217 50.16657 -3.563817     15.13
8      207 49.66683 -3.556550     15.04
9      213 50.16512 -3.824667     14.97
10     219 49.83707 -3.815483     14.78
Run Code Online (Sandbox Code Playgroud)

生成图 1 的代码是一个基本的传单脚本:

leaflet() %>% 
  addProviderTiles('Esri.OceanBasemap'
  ) %>% 
  addCircleMarkers(data …
Run Code Online (Sandbox Code Playgroud)

gis r polygon geospatial leaflet

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

使用 voronoi 在 Leaflet 中创建的surface_polygons 使用点数据创建等值线图

我有一个棘手的问题。

我正在尝试将一些数据可视化为一种“漂亮”的元数据浏览器。它是以下格式的基本点数据:

> print(tempdata[1:5, ])
  Station  Lat_dec  Long_dec Surface_T
1     247 50.33445 -2.240283     15.19
2     245 50.58483 -2.535217     14.11
3     239 50.16883 -2.509250     15.41
4     225 50.32848 -2.765967     15.34
5     229 50.63900 -2.964800     14.09
Run Code Online (Sandbox Code Playgroud)

我可以使用 Lat、Long 和 Temp 创建以下 voronoi 多边形,并使用一个简单的框来裁剪它们,以免它们永远延伸。

# Creating Stations
stations <- st_as_sf(df,
                     coords = c("Long_dec","Lat_dec")
                     )

# Create voronoi/thiessen polygons
v <- stations %>% 
  st_union() %>%
  st_voronoi() %>%
  st_collection_extract()

# Creating boundary box
box <- st_bbox(stations) %>% 
  st_as_sfc()

# Clipping voronoi to boundary box
hmm …
Run Code Online (Sandbox Code Playgroud)

r polygon rgdal r-leaflet

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

标签 统计

r ×3

polygon ×2

geospatial ×1

ggplot2 ×1

gis ×1

leaflet ×1

r-leaflet ×1

rgdal ×1