openpyxl绘制图表

嘿,你是不是在处理Excel文件时感到束手无策?是不是想要一个简单而又强大的工具来处理数据分析和图表制作?别担心,我们有解决方案!

让我向你介绍openpyxl,这是一个Python库,专门用于处理Excel文件。无论是读取、编辑还是创建Excel文件,openpyxl都能轻松应对。无需手动操作Excel,使用openpyxl,您可以自动化处理任意数量的数据。

令人惊叹的是,openpyxl不仅仅是一个普通的Excel库。它提供了丰富而强大的功能,包括创建和修改图表,设置数据标签,导入和导出不同格式的数据等等。您可以根据自己的需求灵活调整代码,实现各种复杂的操作。

在我们的最新博客文章中,我们将深入介绍openpyxl的各种功能和用法。您将学习如何轻松读取和写入Excel文件、如何创建和定制图表以及如何进行数据处理和分析。无论您是初学者还是有经验的开发者,这篇博客都将为您提供宝贵的知识和技巧。

不仅如此,通过openpyxl,您将获得高效而且可靠的处理Excel文件的解决方案。您可以节省大量的时间和精力,提高工作效率,从而专注于更重要的任务和项目。

感兴趣了吗?赶快来阅读我们的博客文章,了解openpyxl如何成为您数据分析的得力助手!不仅仅是学习,还可以将这些技能应用于实际工作中,展现您在数据处理方面的专业能力。

别再被Excel困扰,跟随我们的指南,掌握openpyxl,成为Excel大师!点击链接阅读完整文章:[博客链接]。

我们期待您的阅读和探索!让openpyxl成为您的数据分析利器!

折线图

from openpyxl import Workbook
from datetime import date
from openpyxl.chart import LineChart, Reference

wb = Workbook()
sh = wb.active
# 设置数据
rows = [
    ['时间', '冥门', '月木', '天上'],
    [date(2024, 1, 16), 19, 18, 19],
    [date(2024, 1, 17), 20, 19, 18],
    [date(2024, 1, 18), 21, 20, 20],
    [date(2024, 1, 19), 20, 21, 21],
    [date(2024, 1, 20), 22, 22, 22],
]
# 把数据增加到工作薄里
for r in rows:
    sh.append(r)
# 创建图表
chart = LineChart()
# 给图表选择数据
data = Reference(sh, min_col=2, min_row=1, max_col=4, max_row=6)
# 给图表增加数据
chart.add_data(data)
# 设置图表的名称
chart.title = '月木俱乐部人数流动趋势'
# 设置图表的x轴名
chart.x_axis.title = '时间'
# 设置图表的y轴名
chart.y_axis.title = '人数'

# 把图表增加到工作簿
sh.add_chart(chart, 'A9')
# 保存excel文件
wb.save('./折线图.xlsx')          


柱状图

from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
sh = wb.active
# 设置数据
rows = [
    ('月份', '冥门', '月木', '天上'),
    (7, 20, 10, 30),
    (8, 40, 40, 60),
    (9, 10, 60, 70),
    (10, 30, 20, 30),
    (11, 50, 50, 40),
    (12, 70, 10, 50),
]
# 把数据增加到工作薄里
for r in rows:
    sh.append(r)
# 创建图表
chart = BarChart()
# 给图表选择数据
data = Reference(sh, min_col=2, max_col=4, min_row=2, max_row=7)
cats = Reference(sh, min_col=1, max_col=1, min_row=2, max_row=7)
# 给图表增加数据
chart.add_data(data)
chart.set_categories(cats)
# 设置图表的名称
chart.title = '俱乐部人员变动统计'
# 设置图表的x轴名
chart.x_axis.title = '月'
# 设置图表的y轴名
chart.y_axis.title = '人数'
# 把图表增加到工作簿
sh.add_chart(chart)
# 保存excel文件
wb.save('./柱状图.xlsx')            

饼状图

from cProfile import label
from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference

wb = Workbook()
sh = wb.active
# 设置数据
rows = [
    ('俱乐部', '人数'),
    ('冥门', 22),
    ('月木', 23),
    ('天上', 24),
    ('怜容', 20),
]
# 把数据增加到工作薄里
for r in rows:
    sh.append(r)
# 创建图表
chart = PieChart()
# 给图表选择数据
data = Reference(sh, min_col=2, max_col=2, min_row=2, max_row=5)
cate = Reference(sh, min_col=1, min_row=2, max_row=5)
# 给图表增加数据
chart.add_data(data)
chart.set_categories(cate)
# 设置图表的名称
chart.title = '各俱乐部人数占比'
# 把图表增加到工作簿
sh.add_chart(chart)
# 保存excel文件
wb.save('./饼状图.xlsx')

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324518.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

通过myBatis将sql语句返回的值自动包装成一个java对象(2)

1.之前我们是如何执行一个sql语句自动包装成一个java对象呢? 1.创建一个mapper.xml,定义 执行的语句名字 和 包装成什么类 2.在总的配置文件里申明这个mapper 3.在java里通过sqlSession执行mapper里定义好的内容 我们还可以使用另一种方法实现第三步。现…

力扣每日一练(24-1-16)

我一开始想到的是,如果数字相同则加一。 然而,对了一点点,而已。 高手的方法不是普通人在几分钟内能想得出来的,hh 继续补充: 如果数字不同则减一,如果计数到达了0,则更新数字,最…

AWS边缘媒体安全交付方案

企业如何在AWS上的边缘站点,安全的将优质视频内容交付给用户,并且禁止哪些未经过授权的访问?九河云将基于AWS平台提供边缘媒体安全交付解决方案 解决方案详情 在通过 Amazon CloudFront 交付时,免受未经授权的访问。基于添加到交…

云畅科技技术中心被认定为湖南省省级企业技术中心

近日,湖南省工业和信息化厅公布《2023年第二批湖南省省级企业技术中心(第29批)》,云畅科技技术中心作为研发设计型代表入选。 省级企业技术中心是强化企业技术创新主体地位,增强企业自主创新能力,推动工业企业高质量发展的一个重要…

数据结构学习 jz59 滑动窗口的最大值

关键词:排序 大顶堆 双端队列 题目: 望远镜中最高的海拔 方法一:维护一个辅助队列。 方法二:大顶堆。 我还在主站 239 写了找最小值的方法。 方法一:最优解 这个方法和jz30维护一个非严格递减的辅助栈是基本一样的…

第 379 场 LeetCode 周赛题解

A 对角线最长的矩形的面积 模拟 class Solution { public:int areaOfMaxDiagonal(vector<vector<int>> &dimensions) {int res 0, len2 0;for (auto &x: dimensions)if (x[0] * x[0] x[1] * x[1] > len2 || x[0] * x[0] x[1] * x[1] len2 &&am…

安全强化学习笔记

这里写自定义目录标题 参考资料 Safe Reinforcement Learning环境算法CPO 2017 ICMLPCPO 2019 ICLRFOCOPS 2020 NIPSCRPO 2021 ICMLCUP 2022 NIPS TRPO 如何看懂TRPO里所有的数学推导细节? - 小小何先生的回答 - 知乎 参考资料 Safe Reinforcement Learning 安全/约束强化学…

排序算法之七:归并排序(非递归)

1.非递归实现思路 我们之前学习了递归实现的归并排序&#xff0c;是分治的思想&#xff0c;即先分解&#xff0c;再归并 这篇文章我们讲一下非递归的实现 非递归实现的思路是模拟递归的过程&#xff0c;在递归过程中&#xff0c;我们找key将数组分成左右数组&#xff0c;然后…

uni-table改表头的样式,uniapp项目,颜色,字体颜色

:first-child,:nth-child选择器的使用和隔行变色_firstchild怎么用-CSDN博客

Rocketmq rust版本-开篇

我是蚂蚁背大象(Apache EventMesh PMC&Committer)&#xff0c;文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm&#xff0c;文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsmapache.com Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Comm…

高级分布式系统目录汇总

临近《高级分布式系统》考试&#xff0c;所以一边复习((⊙o⊙)…&#xff0c;其实是预习&#xff0c;哈哈^_^)&#xff0c;一边写高级分布式博客。先将高级分布式章节以及相关博客罗列如下&#xff0c;欢迎和大家一起学习。资料部分参考上了以下教材&#xff1a; 分布式实时系统…

css 前端实现通过css动画实现进度条动态加载效果

效果图 代码 CommonProcess.vue 进度条动态加载组件代码 <!-- 进度条组件 --> <template><div class"common_process"><div v-for"(item, index) in dataList" :key"processType index" class"common_process_item…

Qt6入门教程 6:Qt元对象系统

目录 一.什么是Qt元对象系统&#xff1f; 二.编译时Qt Creator偷摸做了哪些事情&#xff1f; 1.uic 2.rcc 3.moc 一.什么是Qt元对象系统&#xff1f; Qt中的元对象系统&#xff08;Meta-Object System&#xff09;提供了对象间通信的信号和槽机制、运行时类型信息和动态属…

算法复习——01背包

01背包 DP分析法要素有&#xff1a;集合&#xff0c;属性&#xff0c;状态计算 &#xff08;集合是指只考虑前i个&#xff0c;总体积小于等于j的所有选法&#xff0c;存取的属性是所有选法的最大值&#xff09; 状态方程计算&#xff08;所有选法可以分为2种不同的子集&#x…

快速高效处理长图:按指定高度切长图的方法,提升设计品质

在现代视觉传达设计中&#xff0c;长图作为一种常见的表现形式&#xff0c;被广泛应用于各种场景。如何快速高效地处理长图&#xff0c;使其符合设计要求和用户体验&#xff0c;成为设计师们面临的一大挑战。现在来看“办公提效工具”如何按指定高度切长图&#xff0c;提升设计…

华清远见作业第二十七天——网络编程(第二天)

思维导图&#xff1a; 在虚拟机实现客户端控制机械臂 代码&#xff1a; #include<stdio.h> #include<string.h> #include<stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <a.h> #define SER_PORT 8888 //服务端口 #d…

基于信号完整性的PCB设计原则

最小化单根信号线质量的一些PCB设计建议 1. 使用受控阻抗线&#xff1b; 2. 理想情况下&#xff0c;所有信号都应该使用完整的电源或地平面作为其返回路径&#xff0c;关键信号则使用地平面作为返回路径&#xff1b; 3. 信号的返回参考面发生变化时&#xff0c;在尽可能接近…

Seaborn——可视化的具体API应用

一、Seaborn概述 Seaborn 是基于 matplotlib的图形可视化 python包。提供了一种高度交互式界面&#xff0c;便于用户能够做出各种有吸引力的统计图表。 Seaborn在 matplotlib的基础上进行了更高级的API封装&#xff0c;从而使得作图更加容易&#xff0c;在大多数情况下使用seab…

WEB 3D技术 three.js 阴影属性

上文 WEB 3D技术 three.js 光照与阴影 我们说了阴影 那么 我们继续将阴影的属性 目前 我们的代码 import ./style.css import * as THREE from "three"; import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";//创建相机 cons…

集成xxljob项目如何迁移到K8S

前言 大家好&#xff0c;今天我们将基于XXL-Job&#xff0c;探讨任务调度迁移到云端的相关话题。 XXL-Job是一款功能强大、易用可靠的国产分布式任务调度平台&#xff0c;是目前国内使用比较广泛的分布式任务调度平台之一。它的主要特点包括&#xff1a; 支持分布式、多线程…