如何在 Plotly 中为瀑布图添加总值列
How to add a total value column for a Waterfall Chart in Plotly
我想在我的瀑布图中添加一个“总价值”列,但我不知道为什么我不能这样做,因为这个数据在我的 table 中。看我实际的 table:
DealID Customer deal value (USD) Measure
Q1 SIEMENS AG .200.000 Relative
Q2 SIEMENS AG 0.000 Relative
Q3 SIEMENS AG .100.000 Relative
Q4 SIEMENS AG 0.000 Relative
Q5 SIEMENS AG .000.000 Relative
Q6 SIEMENS AG 0.000 Relative
TOTAL SIEMENS AG .850.000 Total
这是用于创建瀑布图的代码:
import pandas as pd
import numpy as np
import plotly
import plotly.graph_objs as go
df=pd.read_excel('C:/Users/Usuario/Desktop/python/HP/waterfall.xlsx')
#store values in different variables
x=df['DealID']
y=df['deal value (USD)']
measure = df['Measure']
text=df['deal value (USD)']
fig = go.Figure(go.Waterfall(
measure=measure,
x=x,
y=y,
text=text
))
fig.show()
输出如下:
如您所见,总计列上升,因为它是常规的“相对”度量,但我期望的是名为“总计”的结尾列中所有 Q 的总和。
关于如何解决这个问题有什么建议吗?
提前致谢
查看 documentation,我认为 go.Waterfall
的 measure
参数需要 'relative', 'absolute', or 'total'
,全部为小写字母。
我导入了您的 DataFrame 和 运行 您的代码,并进行了以下更改以使您的 "Measure"
列小写:
df["Measure"] = df["Measure"].str.lower()
然后我得到预期的输出:
我想在我的瀑布图中添加一个“总价值”列,但我不知道为什么我不能这样做,因为这个数据在我的 table 中。看我实际的 table:
DealID Customer deal value (USD) Measure
Q1 SIEMENS AG .200.000 Relative
Q2 SIEMENS AG 0.000 Relative
Q3 SIEMENS AG .100.000 Relative
Q4 SIEMENS AG 0.000 Relative
Q5 SIEMENS AG .000.000 Relative
Q6 SIEMENS AG 0.000 Relative
TOTAL SIEMENS AG .850.000 Total
这是用于创建瀑布图的代码:
import pandas as pd
import numpy as np
import plotly
import plotly.graph_objs as go
df=pd.read_excel('C:/Users/Usuario/Desktop/python/HP/waterfall.xlsx')
#store values in different variables
x=df['DealID']
y=df['deal value (USD)']
measure = df['Measure']
text=df['deal value (USD)']
fig = go.Figure(go.Waterfall(
measure=measure,
x=x,
y=y,
text=text
))
fig.show()
输出如下:
如您所见,总计列上升,因为它是常规的“相对”度量,但我期望的是名为“总计”的结尾列中所有 Q 的总和。
关于如何解决这个问题有什么建议吗?
提前致谢
查看 documentation,我认为 go.Waterfall
的 measure
参数需要 'relative', 'absolute', or 'total'
,全部为小写字母。
我导入了您的 DataFrame 和 运行 您的代码,并进行了以下更改以使您的 "Measure"
列小写:
df["Measure"] = df["Measure"].str.lower()
然后我得到预期的输出: