You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly line_mapbox仅显示点不连线问题排查求助

解决Plotly Mapbox油气管道连线不显示的问题

核心问题大概率是没有按管道段(Leg)正确分组创建线条轨迹,或者轨迹的模式(mode)设置错误。以下是具体的解决步骤和代码示例:

关键步骤说明

  1. 按Leg分组处理数据:每个Leg对应一段独立的管道,需要为每个Leg单独创建一个Scattermapbox轨迹,且确保该Leg下的GPS坐标是按管道路径顺序排列的。
  2. 正确设置轨迹模式:管道轨迹的mode必须设为'lines',如果误设为'markers'只会显示点。
  3. 确保坐标数据类型正确:Lat和Lon列必须是数值型(float),字符串类型会导致Plotly无法解析坐标。

完整代码示例

import plotly.graph_objects as go
import pandas as pd

# 1. 读取管道数据并预处理
pipeline_df = pd.read_csv("你的管道数据.csv")
# 确保坐标为数值类型,避免解析错误
pipeline_df = pipeline_df.astype({"Lat": float, "Lon": float})
# (可选)如果坐标顺序混乱,需要按采集顺序或路径序号排序,比如假设存在Order列:
# pipeline_df = pipeline_df.sort_values(by=["Leg", "Order"])

# 2. 为每个Leg创建管道线条轨迹
pipeline_traces = []
for leg_id, leg_data in pipeline_df.groupby("Leg"):
    trace = go.Scattermapbox(
        lat=leg_data["Lat"],
        lon=leg_data["Lon"],
        mode="lines",  # 必须设置为lines,否则只显示点
        name=f"管道段 {leg_id}",
        line=dict(width=3, color="#ff4500")  # 加粗线条+高对比度颜色,确保可见
    )
    pipeline_traces.append(trace)

# 3. 读取并创建油气井散点轨迹(你的原有代码可直接复用)
wells_df = pd.read_csv("你的油气井数据.csv")
wells_trace = go.Scattermapbox(
    lat=wells_df["Lat"],
    lon=wells_df["Lon"],
    mode="markers",
    name="油气井",
    marker=dict(size=8, color="#1e90ff")
)

# 4. 合并轨迹并生成图表
fig = go.Figure(data=[wells_trace] + pipeline_traces)
fig.update_layout(
    mapbox=dict(
        style="carto-positron",  # 选择浅色地图,避免和线条颜色冲突
        center=dict(
            lat=pipeline_df["Lat"].mean(),
            lon=pipeline_df["Lon"].mean()
        ),  # 自动居中到管道区域
        zoom=9  # 根据实际区域调整缩放级别
    ),
    showlegend=True,
    height=600
)

fig.show()

常见排查点

  • 未按Leg分组:如果把所有Leg的坐标塞进同一个轨迹,Plotly会按原始数据顺序把所有点连起来,导致线条混乱或因跨段距离过大而“消失”在地图视野外。
  • mode参数错误:如果管道轨迹的mode设为'markers'或'markers+lines'但线条被点覆盖,检查mode值是否为'lines'。
  • 数据顺序错误:每个Leg下的GPS点必须按管道的实际走向排序,否则连线会绕路甚至看起来断裂。
  • 线条样式太隐蔽:线宽小于2或颜色与地图背景接近时,线条会难以察觉,建议先设置粗线+高饱和度颜色测试。

内容的提问来源于stack exchange,提问作者Hardhat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:50:30