# 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) 你好(这里是测图新手!)
我已经进行了很好的搜索,但找不到解决这个似乎很棘手的问题的方法。
我有基本的 XY(坐标)数据:
我想要做的是根据不重叠且具有一定大小限制的坐标数据创建相邻的多边形(因此它们不会永远延伸到海洋中)。
请原谅我糟糕的 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) 我有一个棘手的问题。
我正在尝试将一些数据可视化为一种“漂亮”的元数据浏览器。它是以下格式的基本点数据:
> 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)