Точечные данные не визуализируются - графически разбросанная картаPython

Программы на Python
Anonymous
Точечные данные не визуализируются - графически разбросанная карта

Сообщение Anonymous »

Я рисую диаграмму разброса, используяplotly. Базовая карта работает нормально, но точки не отображаются. Однако если я распечатаю изображение, точки появятся. Если я также добавлю к фигуре .show(), точки будут отображаться отдельной ссылкой. Но я хочу, чтобы в раскрывающемся списке выбиралось отдельное состояние и точки для визуализации. Не знаю, что делаю не так?
import dash
from dash import Dash, dcc, html, Input, Output
import dash_bootstrap_components as dbc
import plotly.express as px
import pandas as pd
import plotly.graph_objs as go
import numpy as np

mapboxtoken = "xxx"

us_cities = pd.read_csv(
'https://raw.githubusercontent.com/plotl ... top-1k.csv'
)

stateID = us_cities['State'].unique()

external_stylesheets = [dbc.themes.SPACELAB, dbc.icons.BOOTSTRAP]

app = dash.Dash(__name__, external_stylesheets = external_stylesheets)

app.layout = html.Div([

dcc.Dropdown(id="states_select",
options=stateID,
optionHeight=25,
multi=True,
searchable=True,
placeholder='Please select...',
clearable=True,
value=[''],
style={'width': "60%"}
),

html.Div([
dcc.Graph(id="the_graph")
]),

])

@app.callback(
Output("the_graph", "figure"),
Input("states_select", "value"),
)

def update_graph(states_chosen):

dff = us_cities[us_cities["State"].isin(states_chosen)]

scatter = px.scatter_mapbox(data_frame = dff,
lat = 'lat',
lon = 'lon',
zoom = 0,
hover_data = ['State', 'lat', 'lon']
)

scatter.update_layout(
height = 750,
mapbox=dict(
style='carto-positron',
accesstoken=mapboxtoken,
),
margin={'r':10, 't': 0, 'l': 0, 'b': 0}
)

#scatter.show()

return scatter

if __name__ == '__main__':
app.run_server(debug=True, port = 8050)


Подробнее здесь: https://stackoverflow.com/questions/788 ... ter-mapbox

Вернуться в «Python»