1

我在 R 中很新。我有很多坐标,我想在 R 中以适当的方式绘制它们,同时也显示标签。此外,轴应呈现纬度和经度。我尝试了 ggplot 但我无法将数据拟合到代码中。

   id      lon      lat
1   2 7.173500 45.86880
2   3 7.172540 45.86887
3   4 7.171636 45.86924
4   5 7.180180 45.87158
5   6 7.178070 45.87014
6   7 7.177229 45.86923
7   8 7.175240 45.86808
8   9 7.181409 45.87177
9  10 7.179299 45.87020
10 11 7.178359 45.87070
11 12 7.175189 45.86974
12 13 7.179379 45.87081
13 14 7.175509 45.86932
14 15 7.176839 45.86939
15 17 7.180990 45.87262
16 18 7.180150 45.87248
17 19 7.181220 45.87355
18 20 7.174910 45.86922
19 25 7.154970 45.87058
20 28 7.153399 45.86954
21 29 7.152649 45.86992
22 31 7.154419 45.87004
23 32 7.156099 45.86983
4

1 回答 1

5

为此,请使用geom_text几何:

ggplot(aes(x = lon, y = lat), data = df) + geom_text(aes(label = id))

这会将列中的文本绘制在id由列lon和指定的位置上lat。数据存储在data.frame df.

或使用:

ggplot(aes(x = lon, y = lat), data = df) + geom_text(aes(label = id)) + 
    geom_point()

如果要同时添加点和标签。使用hjustvjust参数geom_text更改标签相对于点的方向。另外,var使用美学color中的参数,根据列给每个点一个颜色:geom_point

ggplot(aes(x = lon, y = lat), data = df) + geom_text(aes(label = id)) + 
    geom_point(aes(color = var))

请注意,ggplot2不能处理包Spatial提供的类sp。用于as.data.frame将点 (SpatialPoints) 和网格集 (SpatialPixels/SpatialGrid) 转换为 data.frame。此外,用于fortify将多边形数据集 (SpatialPolygons) 转换为data.frame.

于 2013-01-03T21:22:03.900 回答