184_Python 在 Excel 和 Power BI 绘制堆积瀑布图

这篇具有很好参考价值的文章主要介绍了184_Python 在 Excel 和 Power BI 绘制堆积瀑布图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图

一、背景

在 2023 年 8 月 22 日 微软 Excel 官方宣布:在 Excel 原生内置的支持了 Python。博客原文

笔者第一时间就更新到了 Excel 的预览版,通过了漫长等待分发,现在可以体验了,先来看看效果。

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图,PP,数据分析,python,excel

  1. 在 Excel 公式选项卡下 Python 菜单
  2. 原来的 Excel 公示栏,左边多了一个PY的绿高亮区域输入 Python 代码。
  3. 在单元格区域直接可以展示出 Python 输出结果。

Power BI 公共 web 效果:https://demo.jiaopengzi.com/pbi/184-full.html

二、如何体验

1、首先需要是微软365用户才可以,其他用户目前无法体验,即便是发送给别人也看不到效果如下:

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图,PP,数据分析,python,excel

2、当前时间 Python 在 Excel 还是属于预览功能,所以需要把自己的 Excel 切换到预览频道。具体方法可以参考官方:https://insider.microsoft365.com/en-us/join/windows

3、需要联网.

Python 在云中运行

Excel 中的 Python 计算使用标准版本的 Python 语言在 Microsoft 云中运行。 Excel 中的 Python 附带 Anaconda 通过标准的安全分发提供的一组核心 Python 库。

无需本地版本的 Python 就可以在 Excel 中使用 Python。 如果计算机上安装了本地版本的 Python,则对 Python 安装所做的任何自定义都不会反映在 Excel 计算中的 Python 中。

由于 Excel 中的 Python 计算在云中运行,因此需要使用 Internet 访问才能使用该功能。

4、参考文档,认真阅读

Excel 中的 Python 简介

Python 简介 - 培训 |Microsoft Learn

Excel 中的 Python 错误疑难解答

Excel 中的数据安全性和 Python

Excel DataFrames 中的 Python

在 Excel 绘图和图表中创建 Python

在 Excel 中将Power Query数据与 Python 配合使用

5、Excel 内置 Python 默认使用的开源库

Excel 在云端运行的时候就导入了下图的包,可以在自己写代码的时候不用导入。但强烈建议自己还是单独写一下导入的过程。注意一些约定俗成的导包的别名。

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图,PP,数据分析,python,excel

云端开源库列表requirements.txt,在本地体验和调试。

matplotlib==3.7.3
numpy==1.25.2
pandas==2.1.0
seaborn==0.12.2
statsmodels==0.14.0
astropy==5.3.3
beautifulsoup4==4.12.2
imbalanced-learn==0.11.0
ipython==8.15.0
gensim==4.3.2
networkx==3.1
Pillow==10.0.0
datasette-pytables==2.0.1
torch==2.0.1
PyWavelets==1.4.1
scikit-learn==1.3.0
scipy==1.11.2
snowballstemmer==2.2.0
statsmodels==0.14.0
sympy==1.12
tabulate==0.9.0
spyder-kernels==2.4.4

本地导入

pip install -r requirements.txt

三、体验应用

在 Excel 中我们体验自定义画图:堆积瀑布图

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = xl("B3:D15", headers = True) # 创建数据集

decimal_places = 0  # 小数位数 默认 0 位
color_base = ['#213058', '#8E599F', '#ADB175']  # 基础颜色可自行扩展,最少保证三个颜色。
column_names = df.columns.tolist()  # 获取数据集字段名称

df_pivot = df.pivot_table(index=column_names[0], columns=column_names[1], values=column_names[2], aggfunc='sum').fillna(0)  # 透视表
df_pivot['cumulative'] = df_pivot.sum(axis=1).cumsum()  # 计算累计值
df_pivot.loc['Total'] = df_pivot.sum()  # 添加总计行
unique_wd_values = df_pivot.columns[:-1].tolist()  # 获取分类列表

# 颜色处理
if len(unique_wd_values) > len(color_base):  # 如果 wd 数量大于颜色数量,需要随机添加颜色
    color_base += [f'#{np.random.randint(0, 0xFFFFFF):06x}' for _ in range(len(unique_wd_values) - len(color_base))]
elif len(unique_wd_values) < len(color_base):  # 如果 wd 数量小于颜色数量,需要截取颜色
    color_base = color_base[:len(unique_wd_values)]
colors = {wd: color_base[i] for i, wd in enumerate(unique_wd_values)}  # 分类颜色字典

bar_width = 0.5  # 柱形图宽度
opacity = 0.95  # 柱形图透明度
width = 10  # 宽度为 10 英寸 默认 6.4 英寸
height = 7.5  # 高度为 7.5 英寸 默认 4.8 英寸

fig, ax = plt.subplots(figsize=(width, height))  # 创建子图
bottom = np.zeros(len(df_pivot))  # 初始化底部值
bottom[1:-1] = df_pivot['cumulative'].iloc[:-2].tolist()  # 更新底部值为累计值

# 绘图
for wd, color in colors.items():  # 遍历每个分类
    values = df_pivot[wd].tolist()  # 获取每个分类的值
    bars = ax.bar(df_pivot.index, values, bar_width, color=color, alpha=opacity, bottom=bottom, edgecolor='black')  # 绘制柱形图
    for i, value in enumerate(values):  # 添加标签
        if value > 0:  # 值大于 0 才添加标签
            ax.text(i, bottom[i] + value / 2, f'{value:,.{decimal_places}f}', color='white', fontsize=12, ha='center', va='center')
    bottom += values  # 更新底部值
    for i, value in enumerate(values):  # 添加连接线
        if i < len(values) - 1 and wd == unique_wd_values[-1]:  # 最后一个分类不添加连接线
            ax.plot([i + 0.75, i + 0.25], [bottom[i], bottom[i]], color='black', linestyle='--')  # 虚线连接线
# 总计标签
totals = np.sum(df_pivot.drop('cumulative', axis=1), axis=1)  # 计算每个分类的总计值
for i, total in enumerate(totals):  # 添加标签
    ax.text(i, bottom[i] + 100, f'{total:,.{decimal_places}f}', color=color_base[0], fontsize=12, fontweight='bold', ha='center', va='center')  # 总计标签

ax.spines['top'].set_visible(False)  # 上边框隐藏
ax.spines['right'].set_visible(False)  # 右边框隐藏
ax.spines['bottom'].set_linewidth(1)  # 下边框宽度
ax.spines['left'].set_linewidth(0.5)  # 左边框宽度

# 图例
legend_elements = [plt.Rectangle((0, 0), 1, 1, fc=colors[key], ec='black', alpha=opacity) for key in colors]  # 图例元素
ax.legend(legend_elements, colors.keys(), title='', fontsize=12)  # 图例

# 标题
ax.set_title('Title', fontsize=16, fontweight='bold', color=color_base[0], pad=16)

plt.show()  # 显示图形

在 Power BI 中画图效果

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图,PP,数据分析,python,excel

附件内容如下,可以自行下载体验:

184_Python 在 Excel 和 Power BI 绘制堆积瀑布图,PP,数据分析,python,excel

附件下载

https://jiaopengzi.com/3044.html


请关注

全网同名搜索 焦棚子

如果对你有帮助,请 点赞关注三连 支持一下,这是我们更新的动力。

我们承接 Power BI 相关业务:培训、报告制作与部署、咨询服务等。

by 焦棚子文章来源地址https://www.toymoban.com/news/detail-732204.html

到了这里,关于184_Python 在 Excel 和 Power BI 绘制堆积瀑布图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Power BI 傻瓜入门 3. 选择Power BI的版本

    本章内容包括: Excel与Power BI的比较 选择Power BI的桌面版和服务版之间的差异 了解Microsoft提供的许可选项 挑选正确版本的Power BI可能就像参观世界上最大的糖果店:你可以从许多细微差别的替代品中进行选择。选择可以归结为想要、需要、规模,当然还有钱。有些版本是免费

    2024年02月08日
    浏览(38)
  • Power BI 傻瓜入门 17. 共享和Power BI工作区

    本章内容包括: 设置与Power BI服务的共享和协作 使用监控和性能工具加快业务运营 通过查看数据联机排除数据故障 在经历了跨数据源的整个数据生命周期、构建可视化、了解DAX和发布报告之后,作为power BI的高级用户,您的下一步是与业务中的所有利益相关者共享桌面上的

    2024年02月08日
    浏览(45)
  • 【Power BI】Power BI 入门指南:版本、下载和报表创建的步骤

    Power BI 是微软于 2013 年推出的产品,为一款商业智能与数据可视化工具。它通过引人注目的视觉效果,帮助我们深入理解数据所传递的信息。然而,Power BI 不仅仅局限于数据可视化,我们还可以利用其进行数据转化、操作以及开展其他卓越的工作。 在本文中,我们将探讨 P

    2024年02月07日
    浏览(51)
  • Power BI介绍

    Power BI是由微软研发的一款商业智能分析软件,是一款可视化自助式BI工具。 核心理念:让业务人员 无须编程 就能快速 上手 商业 大数据分析与可视化 ,具有丰富的可视化图表组件,跨设备使用、与各种不同系统无缝对接和兼容 Power BI是我可以接入各个数据,来做一些处理

    2023年04月08日
    浏览(37)
  • Power BI 本地版部署

              3.1安装 Power BI Report Server所要满足的硬件和软件基本要求 组件 要求 .NETFramework 可以从适用于 Windows 的 Microsoft.NETFramework 4.6(Web 安装程序)手动安装 .NETFramework。 有关 .NETFramework 4.6 的详细信息、建议和指南,请参阅面 向开发者的 .NETFramework 部署指南。 Windows 8.1 和

    2024年02月16日
    浏览(37)
  • Microsoft Power BI部署方案

    目录 前言 一、部署环境概述 二、Azure 账户创建 三、创建虚拟机,安装 SQL Server 四、配置虚拟网络环境 五、安装 Power BI 服务端 六、创建 Power BI 环境及 Power BI 门户 七、配置数据网关 八、上传数据集、创建报表 九、发布共享内部报表 十、设置安全策略 总结 本部署方案是针

    2024年02月04日
    浏览(42)
  • 利用Power Automate,轻松下载Power BI报告中的数据

        Power Automate是微软的流程自动化(RPA)工具,可以友好、无代码的实现各种低效工作流程的自动化处理。它也已经集成到了Power BI中,在 Power BI 报表中创建 Power Automate 视觉对象后,终端用户只需单击报表中的按钮即可运行自动化流。 通过二者的协同,可以提供更强大、更灵

    2024年02月04日
    浏览(40)
  • Power query (Power BI)一步到位傻瓜式合并工作簿,史上最好用

    只需一句话,不用鼠标拖拽十几次,没有步步为营,真正的傻瓜式操作,拿来就用。哪怕你没有任何Power BI (Power query)、VBA编程、Excel 函数公式基础,照样分分钟解决合并工作簿的难题,并且随着数据源的更新,不限于表格内更新,新建工作表,新建工作簿……统统一键刷

    2024年02月05日
    浏览(43)
  • 174_技巧_Power BI 动态格式(万|亿)

    Power BI 2023年4月份更新,新增加了一个预览功能:动态格式(Dynamic format strings for measures),度量值的结果可以动态的显示为不同的格式。 今天我们主要来看一个技巧,如何在 Power BI 动态的根据数值的大小显示单位为 万 或者 亿 。 Power BI 公共 web 效果:https://demo.jiaopengzi.com/pb

    2024年02月08日
    浏览(36)
  • Azure Log Analytics:与Power BI集成

    注:本文最初发布于 d-bi.gitee.io, 2023年6月迁移至CSDN 前述 Azure Log Analytics是Azure Monitor中的一项分析服务。本文将讲述通过Log Analytics与Power BI集成的方式,获取Power BI工作区内的日志信息,包括各PBI数据集的CPU消耗,查询数量及性能,以及数据刷新时长、数据刷新失败监测及用户

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包