Plotly hoverinfo显示所有数据点而不是当前点

时间:2017-03-10 16:40:10

标签: python plotly scatter-plot

我无法获得plotly的hoverinfo属性来显示给定点的单个值。作为参考,我在地图上绘制了一堆点,并希望能够将鼠标悬停在一个点上并查看其唯一标识符。如果我没有为hoverinfotext设置任何值,我会在悬停时看到单个点的纬度和经度值。但是,当我设置text=nodes.Nodehoverinfo="text"时,我会在悬停在任意点上时看到所有节点的列表。下面的代码产生了一个最小的例子(在jupyter笔记本中):

import pandas as pd
import plotly.offline as py
from plotly.graph_objs import *
py.init_notebook_mode()

nodes = pd.DataFrame({
    'Node': [103,131,136,143,153],
    'Lat': [39.97703048,39.98315706,40.02686848,40.02110808,40.01174032],
    'Lon': [-83.00179533,-82.97803884,-82.97319305,-83.01509991,-82.97285888]
})
mapbox_access_token = some_mapbox_token
data = Data([
    Scattermapbox(
        lat=nodes.Lat,
        lon=nodes.Lon,
        mode='markers',
        marker=Marker(
            size=2,
            color='red',
            opacity=0.7
        ),
        text=nodes.Node,
        hoverinfo='text'
    )]
)
layout = Layout(
    title='Nodes interacting with busiest TAZ',
    autosize=True,
    hovermode='Closest',
    showlegend=False,
    mapbox=dict(
        accesstoken=mapbox_access_token,
        bearing=0,
        center=dict(
            lat=39.983333,
            lon=-82.983333
        ),
        pitch=0,
        zoom=7.5
    ),
)

我是否错误地设置了text?或者它与hoverinfohovermode

有关

1 个答案:

答案 0 :(得分:4)

对我来说看起来像是一个错误或未指定的行为。你的代码看起来非常好,你只需要传递一个字符串列表而不是整数,它应该可以工作。

    text=[str(n) for n in nodes.Node]

enter image description here