首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将鼠标悬停在饼图中以显示多个值

将鼠标悬停在饼图中以显示多个值
EN

Stack Overflow用户
提问于 2021-01-12 09:04:02
回答 1查看 416关注 0票数 2

我正在尝试使用数据帧创建一个饼图,该数据帧显示悬停时的细分数据。

我使用的数据帧类似于下面的内容:

代码语言:javascript
复制
import pandas as pd
import numpy as np
import plotly.express as px  

d = {'Customer': ['Cust 1', 'Cust 1', 'Cust 2', 'Cust 1', 'Cust 2', 'Cust 2', 'Cust 3', 'Cust 3','Cust 4', 'Cust 4', 'Cust 5', 'Cust 4','Cust 5', 'Cust 6', 'Cust 6', 'Cust 6'], 
         'Product': ['DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'STORE'], 
         'PO': ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15', 'P16'],
         'Revenue': [100, 120, 240, 200, 110, 100, 120, 180, 100, 120, 240, 200, 110, 100, 120, 180]}
    
df = pd.DataFrame(data=d)

输出:

代码语言:javascript
复制
fig = px.pie(d, values='Revenue', names='Product')
fig.show()

这会产生一个饼图AOK,但我想做的是,在悬停时,显示每个客户的细分和他们的产品收入。

因此,每个悬停都会有一个购买产品的每个客户的列表,以及他们的总收入。例如,如果您将鼠标悬停在Digital上,则悬停框将显示:

代码语言:javascript
复制
Digital
Cust 1: 420
Cust 2: 110
Cust 3: 300
Cust 4: 420
Cust 6: 220

任何帮助都将不胜感激。我是Plotly的新手,所以不太确定如何问这个问题,如果你需要更清楚的问题,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2021-01-12 10:33:55

目前,您不能将饼图分成图。另一种选择是日出图。这可以显示分层数据,这适用于每个产品都有多个客户的情况。下面是一个包含所提供数据的示例:

代码语言:javascript
复制
import pandas as pd
import numpy as np
import plotly.express as px  

d = {'Customer': ['Cust 1', 'Cust 1', 'Cust 2', 'Cust 1', 'Cust 2', 'Cust 2', 'Cust 3', 'Cust 3','Cust 4', 'Cust 4', 'Cust 5', 'Cust 4','Cust 5', 'Cust 6', 'Cust 6', 'Cust 6'], 
         'Product': ['DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'DIGITAL', 'DIGITAL', 'STORE', 'DIGITAL', 'STORE', 'DIGITAL', 'DIGITAL', 'STORE'], 
         'PO': ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13', 'P14', 'P15', 'P16'],
         'Revenue': [100, 120, 240, 200, 110, 100, 120, 180, 100, 120, 240, 200, 110, 100, 120, 180]}
    
df = pd.DataFrame(data=d)

fig = px.sunburst(df, values='Revenue', path=['Product','Customer'])
fig.show()

输出:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65676662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档