所有 Plotly Plot_geo 段将段添加到 lat/long of 0,0
All Plotly Plot_geo segments add segment to lat/long of 0,0
我正在制作一些关于航班 paths/lines 的地图,我最近更新了我正在使用的 java 版本之类的东西,我得到了以下地图......如你所知这是正确的。每个点都连接到大西洋 (0,0) 某处的第二个点。 Plotly 版本 4.5.6 和 4.5.2.
library(plotly)
lat1 <- runif(10, 40,50)
lat2 <- runif(10, 40,50)
long1 <- runif(10, 40,50)
long2 <- runif(10, 40,50)
df <- data.frame(lat1, lat2, long1, long2)
plot_geo(locationmode = 'USA-states') %>%
add_markers(data = df, x = ~long1, y = ~lat1, color = I("red")) %>%
add_markers(data = df, x = ~long2, y = ~lat2, color = I("blue")) %>%
add_segments(
data = df,name = "Paths",
x = ~long1, xend = ~long2,
y = ~lat1, yend = ~lat2,
alpha = 0.3, size = I(3), hoverinfo = 'none'
)
这给出了下图...所有段都相互连接并连接到 lat/long 0,0。谁能帮我弄清楚为什么?
您需要用 split
分割您的片段。您可以像这样在每一行使用一个 id:
df <- data.frame(id=1:10,lat1, lat2, long1, long2)
plot_geo(locationmode = 'USA-states') %>%
add_markers(data = df, x = ~long1, y = ~lat1, color = I("red")) %>%
add_markers(data = df, x = ~long2, y = ~lat2, color = I("blue")) %>%
add_segments(
data = df,name = "Paths",
x = ~long1, xend = ~long2,
y = ~lat1, yend = ~lat2, split=~id,
alpha = 0.3, size = I(3), hoverinfo = 'none'
)
我正在制作一些关于航班 paths/lines 的地图,我最近更新了我正在使用的 java 版本之类的东西,我得到了以下地图......如你所知这是正确的。每个点都连接到大西洋 (0,0) 某处的第二个点。 Plotly 版本 4.5.6 和 4.5.2.
library(plotly)
lat1 <- runif(10, 40,50)
lat2 <- runif(10, 40,50)
long1 <- runif(10, 40,50)
long2 <- runif(10, 40,50)
df <- data.frame(lat1, lat2, long1, long2)
plot_geo(locationmode = 'USA-states') %>%
add_markers(data = df, x = ~long1, y = ~lat1, color = I("red")) %>%
add_markers(data = df, x = ~long2, y = ~lat2, color = I("blue")) %>%
add_segments(
data = df,name = "Paths",
x = ~long1, xend = ~long2,
y = ~lat1, yend = ~lat2,
alpha = 0.3, size = I(3), hoverinfo = 'none'
)
这给出了下图...所有段都相互连接并连接到 lat/long 0,0。谁能帮我弄清楚为什么?
您需要用 split
分割您的片段。您可以像这样在每一行使用一个 id:
df <- data.frame(id=1:10,lat1, lat2, long1, long2)
plot_geo(locationmode = 'USA-states') %>%
add_markers(data = df, x = ~long1, y = ~lat1, color = I("red")) %>%
add_markers(data = df, x = ~long2, y = ~lat2, color = I("blue")) %>%
add_segments(
data = df,name = "Paths",
x = ~long1, xend = ~long2,
y = ~lat1, yend = ~lat2, split=~id,
alpha = 0.3, size = I(3), hoverinfo = 'none'
)