Python 如何访问plotly/Chloroleth地图的悬停国家名称。有没有一种像getter一样的方法可以做到这一点?
这可能是一个完全愚蠢的问题,但我无法访问python中plotly对象的某些字段。到目前为止,我一直在使用java,我的新大学希望我编写一些python的东西,我可能因为java的思维方式而陷入了困境 问题: 如何访问plotly/Chloroleth地图的内部字段 代码示例: 首先,我导入plotly express并创建一个plotly世界地图,稍后我将使用该地图选择一个国家Python 如何访问plotly/Chloroleth地图的悬停国家名称。有没有一种像getter一样的方法可以做到这一点?,python,plotly,plotly-dash,Python,Plotly,Plotly Dash,这可能是一个完全愚蠢的问题,但我无法访问python中plotly对象的某些字段。到目前为止,我一直在使用java,我的新大学希望我编写一些python的东西,我可能因为java的思维方式而陷入了困境 问题: 如何访问plotly/Chloroleth地图的内部字段 代码示例: 首先,我导入plotly express并创建一个plotly世界地图,稍后我将使用该地图选择一个国家 import plotly.express as px gapminder = px.data.gapminder(
import plotly.express as px
gapminder = px.data.gapminder().query("year == 2007")
mapfig = px.scatter_geo(gapminder,
locations="iso_alpha",
hover_name="country",
size="pop")
后来,我通过html将图形可视化
html.Div(
dcc.Graph(
id='country-selector',
figure=mapfig,
)
)
当我现在运行python脚本时,我看到了一个世界地图,我可以在任何国家上空悬停,看到一个带有人口和国家名称的弹出窗口。到现在为止,一直都还不错。现在的问题是:当我尝试更新其他图形时,我无法在代码中访问国家名称/或悬停名称
我想象的是:
也许有人比我更精通python,并且深知答案。谢谢你抽出时间 您可以从
hoverData
访问国家名称,如下所示:
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
app = dash.Dash()
gapminder = px.data.gapminder().query("year == 2007")
mapfig = px.scatter_geo(gapminder,
locations="iso_alpha",
hover_name="country",
size="pop")
app.layout = html.Div([
dcc.Graph(
id='country-selector',
figure=mapfig,
),
], className="container")
@app.callback(
dash.dependencies.Output('country-selector', 'figure'),
[dash.dependencies.Input('country-selector', 'hoverData')],
[dash.dependencies.State('country-selector', 'figure')]
)
def drawStockPrice(hover_data, figure):
data = figure['data']
layout = figure['layout']
if hover_data is not None:
print('Country:', hover_data['points'][0]['hovertext'])
return {'data': data, 'layout': layout}
if __name__ == '__main__':
app.run_server(debug=True)
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
app = dash.Dash()
gapminder = px.data.gapminder().query("year == 2007")
mapfig = px.scatter_geo(gapminder,
locations="iso_alpha",
hover_name="country",
size="pop")
app.layout = html.Div([
dcc.Graph(
id='country-selector',
figure=mapfig,
),
], className="container")
@app.callback(
dash.dependencies.Output('country-selector', 'figure'),
[dash.dependencies.Input('country-selector', 'hoverData')],
[dash.dependencies.State('country-selector', 'figure')]
)
def drawStockPrice(hover_data, figure):
data = figure['data']
layout = figure['layout']
if hover_data is not None:
print('Country:', hover_data['points'][0]['hovertext'])
return {'data': data, 'layout': layout}
if __name__ == '__main__':
app.run_server(debug=True)