Python Plotly-如何从json文件在地图上绘制线条?
我试图从一个json文件在plotly中在地图上绘制一条线,并不断收到以下错误。plotly网站上的所有示例都使用.csv文件。但是,我想使用json文件。任何帮助都将不胜感激 错误:找不到有效的mapbox样式,请将Python Plotly-如何从json文件在地图上绘制线条?,python,plotly-python,Python,Plotly Python,我试图从一个json文件在plotly中在地图上绘制一条线,并不断收到以下错误。plotly网站上的所有示例都使用.csv文件。但是,我想使用json文件。任何帮助都将不胜感激 错误:找不到有效的mapbox样式,请将mapbox.style设置为以下之一: 开放街道地图,白色背景,carto正电子,carto暗色材料,雄蕊地形,雄蕊调色剂,雄蕊水彩 或注册Mapbox访问令牌以使用Mapbox服务样式 Python: import plotly.graph_objects as go impo
mapbox.style
设置为以下之一:
开放街道地图,白色背景,carto正电子,carto暗色材料,雄蕊地形,雄蕊调色剂,雄蕊水彩
或注册Mapbox访问令牌以使用Mapbox服务样式
Python:
import plotly.graph_objects as go
import pandas as pd
import json
with open('fcRailroad.geojson') as json_file:
fcRailroad = json.load(json_file)
fig = go.Figure(go.Scattermapbox())
fig.update_layout(mapbox_style="stamen-terrain",
mapbox_zoom=10,
mapbox_center_lat = 40.58,
mapbox_center_lon = -105.08,
margin={"r":0,"t":0,"l":0,"b":0},
mapbox=go.layout.Mapbox(
layers=[{
'sourcetype': 'geojson',
'source': fcRailroad,
'type': 'line',
}]
))
fig.show()
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[
-825.0913953781128,
40.49348616373978
],
[
-825.0906443595885,
40.49508532104079
],
[
-825.0863313674927,
40.502411585011934
]
]
}
}
]
}
Json:
import plotly.graph_objects as go
import pandas as pd
import json
with open('fcRailroad.geojson') as json_file:
fcRailroad = json.load(json_file)
fig = go.Figure(go.Scattermapbox())
fig.update_layout(mapbox_style="stamen-terrain",
mapbox_zoom=10,
mapbox_center_lat = 40.58,
mapbox_center_lon = -105.08,
margin={"r":0,"t":0,"l":0,"b":0},
mapbox=go.layout.Mapbox(
layers=[{
'sourcetype': 'geojson',
'source': fcRailroad,
'type': 'line',
}]
))
fig.show()
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {},
"geometry": {
"type": "LineString",
"coordinates": [
[
-825.0913953781128,
40.49348616373978
],
[
-825.0906443595885,
40.49508532104079
],
[
-825.0863313674927,
40.502411585011934
]
]
}
}
]
}
您没有正确读取json文件。您试图将“fcrailway.json”读入json。而且它显然不是有效的json。以下是从文件加载内容的方式:
with open('fcRailroad.json') as json_file:
fcRailroad = json.load(json_file)
谢谢我应该把它读成geojson吗?该文件是正确的类型,因为我可以在传单中绘制线条,但我很难使用plotly。据我所知,您的数据格式很差。我不知道你想策划什么。但你不应该只使用坐标。没有内嵌的映射框(),感谢您指出这一点。在浏览了几页plotly文档之后,我使用了plotly.graph\u对象并更新了代码。疯狂的是,在plotly中没有用于绘制地图的geojson属性,这毫无意义。我没有发现geojson文件有任何错误,但收到的新错误发生在我添加mapbox属性之后。有什么建议吗?谢谢你的帮助。我还想在地图上画一条线。它沿着铁轨行驶。