使用 R 和 ggplot 在 GPS 坐标之间绘制单独的线
Using R and ggplot to draw separate lines between GPS coordinates
我正在努力使用 R 中的 ggplot 绘制一些线条。我需要连接每一对(按 INDEX 分组)。
我使用的数据是:
INDEX | LATITUDE | LONGITUDE | VALUE
1 53,071118 -6,063786 40.3
1 53,076478 -6,067592 40.3
2 53,071118 -6,063786 60.7
2 53,099204 -6,067235 60.7
和代码:
require(ggmap);
require(ggplot2);
options(warn=-1)
mydata = read.delim2("mydata.csv", TRUE, "\t")
df=as.data.frame(mydata)
City="Dublin, Ireland"
baseMap = get_map(location = City, zoom = 11, maptype = "terrain")
map <- ggmap(baseMap) +
geom_path(aes(x=LONGITUDE, y=LATITUDE, group=INDEX), data=df, alpha=0.2)
map
最后两行的错误是 "Error: Discrete value supplied to continuous scale"。
我该如何克服?
编辑:
我插入了
df$LATITUDE=as.numeric(as.character(df$LATITUDE))
df$LONGITUDE=as.numeric(as.character(df$LONGITUDE))
df$INDEX=as.numeric(as.character(df$INDEX))
它开始工作了。请记住,坐标必须是点,而不是逗号。
我只需要添加
df$LATITUDE=as.numeric(as.character(df$LATITUDE))
df$LONGITUDE=as.numeric(as.character(df$LONGITUDE))
df$INDEX=as.numeric(as.character(df$INDEX))
并将数据中的“,”替换为“.”
我正在努力使用 R 中的 ggplot 绘制一些线条。我需要连接每一对(按 INDEX 分组)。 我使用的数据是:
INDEX | LATITUDE | LONGITUDE | VALUE
1 53,071118 -6,063786 40.3
1 53,076478 -6,067592 40.3
2 53,071118 -6,063786 60.7
2 53,099204 -6,067235 60.7
和代码:
require(ggmap);
require(ggplot2);
options(warn=-1)
mydata = read.delim2("mydata.csv", TRUE, "\t")
df=as.data.frame(mydata)
City="Dublin, Ireland"
baseMap = get_map(location = City, zoom = 11, maptype = "terrain")
map <- ggmap(baseMap) +
geom_path(aes(x=LONGITUDE, y=LATITUDE, group=INDEX), data=df, alpha=0.2)
map
最后两行的错误是 "Error: Discrete value supplied to continuous scale"。 我该如何克服?
编辑: 我插入了
df$LATITUDE=as.numeric(as.character(df$LATITUDE))
df$LONGITUDE=as.numeric(as.character(df$LONGITUDE))
df$INDEX=as.numeric(as.character(df$INDEX))
它开始工作了。请记住,坐标必须是点,而不是逗号。
我只需要添加
df$LATITUDE=as.numeric(as.character(df$LATITUDE))
df$LONGITUDE=as.numeric(as.character(df$LONGITUDE))
df$INDEX=as.numeric(as.character(df$INDEX))
并将数据中的“,”替换为“.”