在 Python 中使用 Sankey 图可视化财务数据
今天,我将向您展示一种在 python 中可视化数据的独特、通用且有用的方法。
桑基图是一种出色但经常被忽视的重要数据可视化方法,例如:资源管理和使用、收入和投资等财务数据、时间管理和分配、费用等等!
例如,让我们以一家 SaaS 公司(我们称之为 DatavizWRLD.com)为例,CEO Josh 想查看该公司的月收入、利润、支出和资金管理情况。我们可以给他一个简单的方法,用桑基图来可视化所有这些:
[](https://res.cloudinary.com/practicaldev/image/fetch/s--nc0ovBjx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to- uploads.s3.amazonaws.com/uploads/articles/o2mh5kw3agesxcst12v3.png)
[](https://res.cloudinary.com/practicaldev/image/fetch/s--YHcdaNhB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to -uploads.s3.amazonaws.com/uploads/articles/00143s1w2ks8jr5vrpll.png)
[](https://res.cloudinary.com/practicaldev/image/fetch/s--HWcfjEUI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev- to-uploads.s3.amazonaws.com/uploads/articles/3hz2hcgeq41xvrx3usn6.png)
如您所见,此桑基图为 Josh 提供了一种简单有效的方式来可视化其公司的月收入、利润、支出和资金管理。
建立自己的!
如果您只想要代码,瞧(尽管我建议您坚持解释,因为从一开始可能很难理解):_
import plotly.graph_objects as go
fig = go.Figure(data=[go.Sankey(
node = dict(
thickness = 5,
label = ["Ads", "Net profit", "Total income", "ROI", "Paid services", "Investment", "Expenses", "Maintaining website", "Paying employes", "Advertising", "Personal expenses", "Savings"],
color = "cyan"
),
link = dict(
# indices correspond to labels
source = [0, 1, 4, 2, 3, 2, 6, 6, 6, 1, 1],
target = [2, 5, 2, 1, 2, 6, 7, 8, 9, 10, 11],
value = [60000, 40000, 90000, 100000, 10000, 60000, 10000, 30000, 20000, 20000, 40000]
))])
fig.update_layout(
title="DatavizWRLD.com monthly income and income management of 2021( in USD )",
font=dict(size = 12, color = 'black')
)
fig.show()
进入全屏模式 退出全屏模式
让我们理解这一切
-
首先,我们将“plotly.graph_objects”导入为“go”。
-
定义“fig”,这将是我们的桑基图。
-
用厚度、颜色和标签来表征我们桑基图的各个部分。
-
接下来,我们定义标签连接或断开连接的方式和位置,以及每个标签的值。 (“源”和“目标”上的数字是标签数组的索引)。
-
最后,我们给图表命名为黑色,大小为 12。
就是这样,一种在 python 中可视化数据的伟大而通用但被低估的方式。
再见👋
更多推荐
所有评论(0)