亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python plotly scatter_geo 修改懸停數據

Python plotly scatter_geo 修改懸停數據

喵喵時光機 2022-11-29 15:55:31
我想修改懸停數據并僅保留例如bins數據。我做了以下代碼,但hover_data參數不起作用。修改haver數據的方法是什么?import plotly.express as pximport plotly.graph_objs as goimport pandas as pdrows=[['501-600','15','122.58333','45.36667'],      ['till 500','4','12.5','27.5'],      ['more 1001','41','-115.53333','38.08'],      ]colmns=['bins','data','longitude','latitude']df=pd.DataFrame(data=rows, columns=colmns)df = df.astype({"data": int})fig=px.scatter_geo(df,lon='longitude', lat='latitude',                      color='bins',                      opacity=0.5,                      size='data',                      projection="natural earth", hover_data=(['bins']))fig.add_trace(go.Scattergeo(lon=df["longitude"],              lat=df["latitude"],              text=df["data"],              textposition="middle center",              mode='text',              showlegend=False))fig.show()
查看完整描述

3 回答

?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

你可以在下面提到 scatter_geo 的 hover_data 參數。


import plotly.express as px

import plotly.graph_objs as go

import pandas as pd


rows=[['501-600','15','122.58333','45.36667'],

      ['till 500','4','12.5','27.5'],

      ['more 1001','41','-115.53333','38.08'],

      ]


colmns=['bins','data','longitude','latitude']

df=pd.DataFrame(data=rows, columns=colmns)

df = df.astype({"data": int})


fig=px.scatter_geo(df,lon='longitude', lat='latitude',

                      color='bins',

                      opacity=0.5,

                      size='data',

                      projection="natural earth", hover_data={'longitude':False,'latitude':False,'data':False})


fig.add_trace(go.Scattergeo(lon=df["longitude"],

              lat=df["latitude"],

              text=df["data"],

              textposition="middle center",

              mode='text',

              showlegend=False))



fig.show()

在 hover_data 中將列名設置為 False 將從 hover_data 中刪除該列名。希望這能回答您的問題。


查看完整回答
反對 回復 2022-11-29
?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

使用接受的答案,我發現了以下錯誤(類似于@Asha Ramprasad 的評論):


RuntimeError: dictionary changed size during iteration

同樣,對于以下內容:


Python 3.7.6 (default, Jan  8 2020, 13:42:34) 

>>> import plotly

>>> plotly.__version__

'4.4.1'

我通過傳遞我想要的數據框列列表而不是字典來消除錯誤:


hover_data = [df["whatever I want displayed"],df["other thing to display"]]

這種陰謀的行為對我來說似乎是一個錯誤。請注意,這不允許刪除列,只能添加。


查看完整回答
反對 回復 2022-11-29
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

使用懸停模板:懸停模板在這種情況下可能效果很好:


fig=px.scatter_geo(df,lon='longitude', lat='latitude',

                      #color='bins',

                      opacity=0.5,

                      size='data',

                      projection="natural earth")


fig.update_traces(customdata=df.bins)

fig.update_traces(hovertemplate='Bins: %{customdata}<extra></extra>')

有關在懸停模板中 使用的信息,請參見此處和此處。customdata


customdata – 為每個數據分配額外的數據。這在監聽懸停、點擊和選擇事件時可能很有用。請注意,“分散”跟蹤還在標記 DOM 元素中附加自定義數據項


更新:使用中的color選項px.scatter_geo將對結果圖的數據進行分組,這樣customdata就不再與帶下劃線的圖數據對齊。這通常是我放棄 plotly express 而使用 plotly go 的地方。


查看完整回答
反對 回復 2022-11-29
  • 3 回答
  • 0 關注
  • 283 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號