1

我有许多坐标,我想使用 R 在网格界面中绘制它们。问题是观测值之间的相对距离很大。坐标位于地理坐标系中,研究区域为瑞士。此外,需要绘制点的 id。

问题是两个点簇很密集,而其他一些点则相距很远。我如何以适当的方式绘制它们以获得可读的演示文稿?对绘制数据有什么建议吗?

最好不要ggplot像我以前使用的那样使用它,它没有呈现出正确的结果。

数据:

id x y
2 7.1735 45.86880001
3 7.17254 45.86887001
4 7.171636 45.86923601
5 7.18018 45.87158001
6 7.17807 45.87014001
7 7.177229 45.86923001
8 7.17524 45.86808001
9 7.181409 45.87177001
10 7.179299 45.87020001
11 7.178359 45.87070001
12 7.175189 45.86974001
13 7.179379 45.87081001
14 7.175509 45.86932001
15 7.176839 45.86939001
17 7.18099 45.87262001
18 7.18015 45.87248001
19 7.18122 45.87355001
20 7.17491 45.86922001
25 7.15497 45.87058001
28 7.153399 45.86954001
29 7.152649 45.86992001
31 7.154419 45.87004001
32 7.156099 45.86983001
GSBi_1 7.184 45.896
GSBi__1 7.36 45.901
GSBj__1 7.268 45.961
GSBj_1 7.276 45.836
GSB 7.272 45.899
GSB_r 7.166667 45.866667

点的位置:

在此处输入图像描述

正如您在图中看到的,点的 id 对于密集部分和其他部分都是不可读的。

4

2 回答 2

0

您的观点太接近了,无法真正做太多事情,但一个想法可能spread.labels来自 plotrix:

opar <- par()
par(xpd=TRUE)

plot(dat$x, dat$y)
spread.labels(dat$x,dat$y,dat$id)

par(opar)

在此处输入图像描述

您可能需要考虑省略所有数字标签并将它们放在不同的图表中。

于 2013-01-22T07:54:19.620 回答
0

实际上,当绘制一组同时包含非常近和非常远的点的点时,并不总是可以确保所有点在屏幕上在视觉上是可分离的。

想想一个 1000x800 像素的屏幕。假设我们有三个点 A、B 和 C,它们分别位于同一水平线上,这样:A 和 B 之间的距离是 1 个单位,A 和 C 之间的距离是 4000 个单位。

如果将此最大距离(4000 单位)映射到屏幕宽度(1000 像素)。那么一个像素将对应于水平方向的 4 个单位。这意味着 A 和 B 将适合一个像素,因为它们之间的距离仅为 1 个单位。因此,它们在屏幕上将无法在视觉上分离。

于 2013-01-21T23:14:44.403 回答