gpt4 book ai didi

python - 如何使用 bqplot 在散点图中插入工具提示

转载 作者:行者123 更新时间:2023-12-03 19:13:04 25 4
gpt4 key购买 nike

我有一个 Pandas 数据框 (df),有 4 列,分别命名为“name”、“nb”、“a”和“b”,它们用他的名字、他的 ID 号(“nb”)和一些值来表征一个人( 'a' 和 'b') 关联。

import pandas as pd
data = {
"name": ["Thomas", "John", "Anna", "Ben", "Arlette"],
'nb': [1,2,3,4,5],
"a": [0, 2, 13, 43, 90],
"b": [4, 24, 31, 2, 3],
}
df = pd.DataFrame(data)

我想创建一个带有“a”和“b”值的散点图,其中名称和 ID 将出现在工具提示中。我想我可以用 bqplot 库来做到这一点。

我写了以下代码:
from bqplot import pyplot as plt
from bqplot import Tooltip
from bqplot import Scatter

fig = plt.figure(title='My title')

def_tt = Tooltip(fields=['name','nb'], formats = ['','.2f'], labels = ['Name','Nb'],show_labels = True )

chart = plt.scatter(df["a"],df["b"], colors = ['red'], tooltip = def_tt, stroke = 'red', unhovered_style ={'opacity':0.5})
fig

但是工具提示是空的,尽管标 checkout 现。我想我在 def_tt 行中遗漏了一些东西,字段参数可能不正确。

最佳答案

使用 bqplot Tooltips,您可以只引用实际标记中的字段。所以这样的事情应该有效:

def_tt = Tooltip(fields=['index', 'x', 'y'], formats = ['','.2f'],)

如果要从数据框中获取不同的字段,则需要

1)创建一个输出小部件

2)定义一个函数,当你悬停在一个标记上时运行

3)将该输出小部件设置为标记工具提示

4)设置该功能以在您悬停时在输出小部件中显示您的元数据
标记。

from bqplot import pyplot as plt
from bqplot import Tooltip
from bqplot import Scatter
from ipywidgets import Output

fig = plt.figure(title='My title')
out = Output(). # 1

def def_tt(_, event): # 2
out.clear_output()
with out:
print(df.loc[event['data']['index'], 'name'])

chart = plt.scatter(
df["a"], df["b"], colors = ['red'],
tooltip = out, # 3
stroke = 'red', unhovered_style ={'opacity':0.5}
)
chart.on_hover(def_tt) # 4
fig

enter image description here

关于python - 如何使用 bqplot 在散点图中插入工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61541657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com