2017-03-10 7 views
3

음소거 hoverinfo 속성이 특정 점에 대해 단일 값을 표시하는 데 문제가 있습니다. 참고로 나는 여러 점을지도에 표시하고 점을 가리키고 고유 식별자를 볼 수 있기를 원합니다. hoverinfo 또는 text에 값을 설정하지 않으면 커서를 가져갈 때 개별 점에 대한 위도 및 경도 값이 표시됩니다. 그러나 text=nodes.Nodehoverinfo="text"을 설정하면 어떤 지점을 가리키더라도 모든 노드의 목록을 볼 수 있습니다.Plotly hoverinfo가 현재 점 대신 모든 데이터 점을 표시합니다.

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을 설정하는 건가요 : 아래 코드 (jupyter 노트북에서) 최소한의 예를 생산? 또는 hoverinfo 또는 hovermode과 관련이 있습니까?

답변

3

나에게 버그 또는 명시되지 않은 동작처럼 보입니다. 코드가 완벽하게 잘 보입니다. 정수 대신 문자열 목록 만 전달하면됩니다.

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

enter image description here

+0

앗 남자. 그건 어리 석다. 나는'text = nodes.Node.map (str)'과 함께 갈 것입니다. 감사! – Grr