前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用 Python 在 Excel 中画柱状图

如何用 Python 在 Excel 中画柱状图

作者头像
somenzz
发布2022-10-25 21:04:04
1.1K0
发布2022-10-25 21:04:04
举报
文章被收录于专栏:Python七号Python七号

我们手动在 Excel 表格中画柱状图是很简单的事情,但是一旦这种简单的工作需要每天都做,那么最好的办法就是用 Python 来自动完成。

今天分享一招,如何用 Python 在 Excel 中画柱状图。

这里借助于工具 openpyxl,如果有更好的工具,欢迎留言分享

先准备一份简单的数据:

代码语言:javascript
复制
data_rows = [
    ["日期", "案例数", "验收通过数"],
    ["2022-08-01", 727, 659],
    ["2022-08-02", 727, 688],
    ["2022-08-03", 725, 696],
    ["2022-08-04", 725, 701],
    ["2022-08-05", 725, 712],
    ["2022-08-08", 725, 717],
    ["2022-08-11", 725, 722],
]

预期的效果就是横坐标是日期,纵坐标是数量,有两个分类,如下图所示:

步骤就是:

1、把数据写入 sheet

2、实例化一个 BarChart

3、指定 BarChart 的数据范围,分类的范围,设置样式、标题等

4、保存

完整代码如下:

代码语言:javascript
复制
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference


def main(filename):
    workbook = Workbook()
    sheet = workbook.active
    data_rows = [
        ["日期", "案例数", "验收通过数"],
        ["2022-08-01", 727, 659],
        ["2022-08-02", 727, 688],
        ["2022-08-03", 725, 696],
        ["2022-08-04", 725, 701],
        ["2022-08-05", 725, 712],
        ["2022-08-08", 725, 717],
        ["2022-08-11", 725, 722],
    ]

    # 1、把数据写入 sheet 
    for row in data_rows:
        sheet.append(row)

    # 2、实例化一个 BarChart
    bar_chart = BarChart()

    # 3、指定 BarChart 的数据范围,分类的范围,设置样式、标题等
    data = Reference(worksheet=sheet, min_row=1, max_row=8, min_col=2, max_col=3)
    x_axis = Reference(worksheet=sheet, min_col=1, min_row=2, max_row=8, max_col=1)
    bar_chart.add_data(data, titles_from_data=True)
    bar_chart.set_categories(x_axis)
    bar_chart.title = "案例验收情况"
    bar_chart.y_axis.title = "数量"
    bar_chart.x_axis.title = "日期"
    # bar_chart.style = 10 设置样式

    # 设置柱状图位置
    sheet.add_chart(bar_chart, "E2")

    # 4、保存
    workbook.save(filename)


if __name__ == "__main__":
    main("bar_chart.xlsx")

运行代码,就会生产 bar_chart.xlsx 文件,打开后就会看到预期的效果图

最后,如果有帮助,还请点赞、关注、转发、留言

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python七号 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档