如何在 Python Plotly 中将组中的所有值在悬停时高亮显示?


Plotly 具有对数据值进行分组的功能。您也可以在悬停时高亮显示来自组的所有值。在本教程中,我们将使用plotly.io 生成图形。它包含许多自定义图表的方法。

请按照以下步骤在悬停时高亮显示来自组的所有值。

步骤 1

导入plotly.io 模块并将其别名为pio

import plotly.io as pio

步骤 2

创建一个值列表以形成字典。

fonts = ['Arial', 'Arial', 'Courier', 'Arial', 'Courier', 'Arial']
shade = ['bold','bold','italic','italic','bold','bold']
score = [1,2,3,4,5,6]

步骤 3

根据 X 和 Y 轴坐标值创建散点图,并应用groupby 为字体设置样式,并为值字典设置样式。

data = [dict(
   type = 'scatter',
   x = shade,
   y = score,
   mode = 'markers',
   transforms = [dict(
      type = 'groupby',
      groups = fonts,
      styles = [
         dict(target = 'Arial', value = dict(marker = dict(color = 'blue'))),
         dict(target = 'Courier', value = dict(marker =
         dict(color = 'red'))),
         dict(target = 'bold', value = dict(marker = dict(color = 'black'))),
         dict(target = 'italic', value = dict(marker =
         dict(color = 'green')))
      ]
   )]
)]

步骤 4

让我们使用值字典生成图形并绘制图形。它定义如下:

fig_dict = dict(data=data)
pio.show(fig_dict, validate=False)

示例

以下是突出显示组中所有值的完整代码:

import plotly.io as pio

fonts = ['Arial', 'Arial', 'Courier', 'Arial', 'Courier', 'Arial']
shade = ['bold','bold','italic','italic','bold','bold']
score = [1,2,3,4,5,6]

data = [dict(
   type = 'scatter',
   x = shade,
   y = score,
   mode = 'markers',
   transforms = [dict(
      type = 'groupby',
      groups = fonts,
      styles = [
         dict(target = 'Arial', value = dict(marker = dict(color = 'blue'))),
         dict(target = 'Courier', value = dict(marker =
         dict(color = 'red'))),
         dict(target = 'bold', value = dict(marker = dict(color = 'black'))),
         dict(target = 'italic', value = dict(marker =
         dict(color = 'green')))
      ]
   )]
)]

fig_dict = dict(data=data)
pio.show(fig_dict, validate=False)

输出

它将在浏览器上显示以下输出:


观察到,当您将鼠标悬停在一个点上时,它将突出显示其所有值。

更新于: 2022年10月7日

992 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告