【问题标题】:Plotly Graph Objects: Show Hover information does not workPlotly Graph 对象:显示悬停信息不起作用
【发布时间】:2020-12-10 23:50:13
【问题描述】:

如何将“值”列中的悬停信息添加到此图?

import plotly-graph_objects as go

fig = go.Figure()

fig.add_trace(go.Scatter(x = df.category,
                         y = df.type,
                         mode='markers',
                         marker={"color": df.value,
                                 "colorscale": 'Sunsetdark',
                                 "size": df["size"],
                                 "showscale": True}
                        ),
              )

我的数据框如下所示:

  category          value       type          size
8        B        95890.0          A     19.171122
35       G        95890.0          B     22.312869
67       V        4113.75          C     20.188301
          .
          .
          .

我尝试将参数hoverinfo = df.value 传递给go.Scatter(),但这不起作用。它可以与 plotly express 一起使用,但我想使用 plotly graph 对象。错误说(无效元素是我的 df 的前 10 个):

ValueError: 
    Invalid element(s) received for the 'hoverinfo' property of scatter
        Invalid elements include: [95890.0, 69910.0, 4113.75, 40450.0, 77530.0, 67470.0, 97660.03, 644340.03, 79488.89, 45591.7399999998]

    The 'hoverinfo' property is a flaglist and may be specified
    as a string containing:
      - Any combination of ['x', 'y', 'z', 'text', 'name'] joined with '+' characters
        (e.g. 'x+y')
        OR exactly one of ['all', 'none', 'skip'] (e.g. 'skip')
      - A list or array of the above

【问题讨论】:

    标签: python hover plotly plotly-dash


    【解决方案1】:

    您可以将df.value 传递为text,然后设置hoverinfo='text'。请注意,由于您设置了mode='markers',因此绘图本身不会显示任何文本。

    import plotly.graph_objects as go
    import pandas as pd
    
    df = pd.DataFrame({'category': ['B', 'G', 'V'],
                       'value': [95890.0, 95890.0 , 4113.75],
                       'type': ['A', 'B', 'C'],
                       'size': [19.171122, 22.312869, 20.188301]})
    
    fig = go.Figure()
    
    fig.add_trace(go.Scatter(x=df.category,
                             y=df.type,
                             text=df.value,
                             hoverinfo='text',
                             mode='markers',
                             marker={'color': df.value,
                                     'colorscale': 'Sunsetdark',
                                     'size': df.size,
                                     'showscale': True}))
    
    fig.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      • 2016-07-12
      • 2020-03-22
      • 1970-01-01
      • 2023-02-12
      • 1970-01-01
      • 2013-08-09
      相关资源
      最近更新 更多