基于python绘制数据表(下)

绘制雷达图-源码

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

# 创建工作薄
wb = Workbook()
# 选定工作表
ws = wb.active

# 准备数据
rows = [
    ['Mouth', 'Bulbs', 'Seeds', 'Flowers', 'Trees'],
    ['Jan', 0, 2200, 500, 0],
    ['Feb', 0, 2000, 560, 0],
    ['Mar', 0, 6500, 1230, 0],
    ['Apr', 0, 4500, 2500, 0],
]
for row in rows:
    ws.append(row)

# 创建图表对象
chart = RadarChart()
chart.type = 'filled'
# 设置数据取值范围
data = Reference(ws, min_col=2, min_row=1, max_col=5, max_row=13)
# 设置类别取值范围
lables = Reference(ws, min_col=1, min_row=2, max_row=13)
chart.add_data(data, titles_from_data=True)
chart.set_categories(lables)
chart.style = 26

# 设置图表标题
chart.title = "雷达图"
chart.y_axis.delete = True
# 将图表保存到指定位置
ws.add_chart(chart, 'A17')
# 将图表保存道工作薄中
wb.save('示例文件/雷达图.xlsx')

绘制雷达图-源码解析

这段代码使用 openpyxl 库在 Python 中创建一个 Excel 文件,并在其中插入一个雷达图。以下是对代码的详细解析:

导入库

from openpyxl import Workbook
from openpyplotlib import RadarChart, Reference
  • Workbook 类用于创建新的 Excel 工作簿。

  • RadarChart 类用于创建雷达图。

  • Reference 类用于定义图表的数据范围和类别范围。

创建工作簿和工作表

wb = Workbook()
ws = wb.active
  • Workbook():创建一个新的工作簿。

  • wb.active:获取当前活动的工作表。

准备数据

rows = [
    ['Mouth', 'Bulbs', 'Seeds', 'Flowers', 'Trees'],
    ['Jan', 0, 2200, 500, 0],
    ['Feb', 0, 2000, 560, 0],
    ['Mar', 0, 6500, 1230, 0],
    ['Apr', 0, 4500, 2500, 0],
]
for row in rows:
    ws.append(row)
  • 定义了一个二维数组 rows,包含了不同月份(Mouth)和不同类别(Bulbs, Seeds, Flowers, Trees)的数据。

  • 使用 append 方法将每一行数据添加到工作表中。

创建雷达图对象并设置属性

chart = RadarChart()
chart.type = 'filled'
data = Reference(ws, min_col=2, min_row=1, max_col=5, max_row=13)
lables = Reference(ws, min_col=1, min_row=2, max_row=13)
chart.add_data(data, titles_from_data=True)
chart.set_categories(lables)
chart.style = 26
  • 创建一个 RadarChart 对象。

  • 设置图表类型为 'filled',表示填充雷达图的区域。

  • 使用 Reference 对象定义数据范围和类别范围。

  • add_data 方法用于添加数据区域,并设置 titles_from_data=True 以使用数据的第一行作为图例。

  • set_categories 方法用于设置雷达图的类别。

  • 设置图表的样式为 26

设置图表标题和其他属性

chart.title = "雷达图"
chart.y_axis.delete = True
  • 设置图表的标题为 "雷达图"。

  • chart.y_axis.delete = True 删除 Y 轴,因为雷达图通常不需要 Y 轴。

将图表添加到工作表并保存工作簿

ws.add_chart(chart, 'A17')
wb.save('示例文件/雷达图.xlsx')
  • add_chart 方法将图表添加到工作表的指定位置(A17 单元格)。

  • save 方法用于保存工作簿到指定的文件路径。

总结

这段代码演示了如何使用 openpyxl 库在 Python 中创建一个包含雷达图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个雷达图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。

绘制饼图-源码

from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference
from openpyxl.chart.marker import DataPoint

# 创建工作薄对象
wb = Workbook()
# 选择工作表
ws = wb.active

# 准备数据
rows = [
    ['品类', '销售额'],
    ['苹果', 10],
    ['香蕉', 25],
    ['榴莲', 25],
    ['西梅', 40]
]

for row in rows:
    ws.append(row)

# 创建饼图对象
pie = PieChart()
# 设置数据范围
data = Reference(ws, min_col=2, min_row=1, max_row=5)
# 设置饼图范围
lables = Reference(ws, min_col=1, min_row=2, max_col=5)

pie.add_data(data, titles_from_data=True)
# 设置lables
pie.set_categories(lables)
# 设置图表标题
pie.title = '各类图表销售额占比'
# 设置饼图分离的效果
slice = DataPoint(idx=0, explosion=20)
pie.series[0].data_points = [slice]

# 将图表添加到指定位置
ws.add_chart(pie, 'D1')
wb.save('示例文件/饼图.xlsx')

绘制饼图-源码解析

这段代码使用 openpyxl 库在 Python 中创建一个 Excel 文件,并在其中插入一个饼图。以下是对代码的详细解析:

导入库

from openpyxl import Workbook
from openpyxl.chart import PieChart, Reference
from openpyxl.chart.marker import DataPoint
  • Workbook 类用于创建新的 Excel 工作簿。

  • PieChart 类用于创建饼图。

  • Reference 类用于定义图表的数据范围和类别范围。

  • DataPoint 类用于设置饼图中每个数据点的属性,例如分离效果。

创建工作簿和工作表

wb = Workbook()
ws = wb.active
  • Workbook():创建一个新的工作簿。

  • wb.active:获取当前活动的工作表。

准备数据

rows = [
    ['品类', '销售额'],
    ['苹果', 10],
    ['香蕉', 25],
    ['榴莲', 25],
    ['西梅', 40]
]

for row in rows:
    ws.append(row)
  • 定义了一个二维数组 rows,包含了不同品类(品类)和对应的销售额(销售额)。

  • 使用 append 方法将每一行数据添加到工作表中。

创建饼图对象并设置属性

pie = PieChart()
data = Reference(ws, min_col=2, min_row=1, max_row=5)
lables = Reference(ws, min_col=1, min_row=2, max_col=5)

pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
pie.title = '各类图表销售额占比'
  • 创建一个 PieChart 对象。

  • 使用 Reference 对象定义数据范围和类别范围。

  • add_data 方法用于添加数据区域,并设置 titles_from_data=True 以使用数据的第一行作为图例。

  • set_categories 方法用于设置饼图的类别。

  • 设置图表的标题为 "各类图表销售额占比"。

设置饼图分离效果

slice = DataPoint(idx=0, explosion=20)
pie.series[0].data_points = [slice]
  • 创建一个 DataPoint 对象,设置第一个数据点(苹果)的分离效果为 20%。

  • DataPoint 对象添加到饼图的第一个系列的数据点中。

将图表添加到工作表并保存工作簿

ws.add_chart(pie, 'D1')
wb.save('示例文件/饼图.xlsx')
  • add_chart 方法将图表添加到工作表的指定位置(D1 单元格)。

  • save 方法用于保存工作簿到指定的文件路径。

总结

这段代码演示了如何使用 openpyxl 库在 Python 中创建一个包含饼图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个饼图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。

绘制3D饼图-源码

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

# 创建工作薄
wb = Workbook()
# 选中工作表
ws = wb.active

# 准备数据
rows = [
    ('店铺', '利润'),
    ('一号店', 120),
    ('二号店', 80),
    ('三号店', 160),
    ('四号店', 50)
]
for row in rows:
    ws.append(row)

# 创建图表对象
pie = PieChart3D()
# 选定数据范围
data = Reference(ws, min_col=2, min_row=1, max_row=6)
# 选定类别的范围
lables = Reference(ws, min_col=1, min_row=2, max_row=6)

pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
# 设置图表标题
pie.title = "3D饼图"

# 将图表添加到指定位置
ws.add_chart(pie, "A10")
# 保存工作薄
wb.save('示例文件/3D饼图.xlsx')

绘制3D饼图-源码解析

这段代码使用 openpyxl 库在 Python 中创建一个 Excel 文件,并在其中插入一个 3D 饼图。以下是对代码的详细解析:

导入库

from openpyxl import Workbook
from openpyxl.chart import PieChart3D, Reference
  • Workbook 类用于创建新的 Excel 工作簿。

  • PieChart3D 类用于创建 3D 饼图。

  • Reference 类用于定义图表的数据范围和类别范围。

创建工作簿和工作表

wb = Workbook()
ws = wb.active
  • Workbook():创建一个新的工作簿。

  • wb.active:获取当前活动的工作表。

准备数据

rows = [
    ('店铺', '利润'),
    ('一号店', 120),
    ('二号店', 80),
    ('三号店', 160),
    ('四号店', 50)
]
for row in rows:
    ws.append(row)
  • 定义了一个二维数组 rows,包含了不同店铺(店铺)和对应的利润(利润)。

  • 使用 append 方法将每一行数据添加到工作表中。

创建 3D 饼图对象并设置属性

pie = PieChart3D()
data = Reference(ws, min_col=2, min_row=1, max_row=6)
lables = Reference(ws, min_col=1, min_row=2, max_row=6)

pie.add_data(data, titles_from_data=True)
pie.set_categories(lables)
pie.title = "3D饼图"
  • 创建一个 PieChart3D 对象。

  • 使用 Reference 对象定义数据范围和类别范围。

  • add_data 方法用于添加数据区域,并设置 titles_from_data=True 以使用数据的第一行作为图例。

  • set_categories 方法用于设置饼图的类别。

  • 设置图表的标题为 "3D饼图"。

将图表添加到工作表并保存工作簿

ws.add_chart(pie, "A10")
wb.save('示例文件/3D饼图.xlsx')
  • add_chart 方法将图表添加到工作表的指定位置(A10 单元格)。

  • save 方法用于保存工作簿到指定的文件路径。

总结

这段代码演示了如何使用 openpyxl 库在 Python 中创建一个包含 3D 饼图的 Excel 文件。它首先创建了一个工作簿和工作表,然后准备了数据并将其写入工作表。接着,它创建了一个 3D 饼图对象,设置了图表的属性和数据范围,并将图表添加到工作表中。最后,它保存了工作簿到一个文件。

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

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

相关文章

PT2044A 单触控单输出IC

1 产品概述 ● PT2044A 是一款单通道触摸检测芯片。该芯片内建稳压电路,提供稳定电压给触摸感应电路使用。同时内部集成高效完善的触摸检测算法,使得芯片具有稳定的触摸检测效果。该芯片专为取代传统按键而设计,具有宽工作电压与低功耗的特性…

华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 7 地图选点Button

场景介绍 本章节将向您介绍如何使用地图选点Button功能,开发者可调用Button组件拉起Map Kit的地图选点页面,用户在地图中选择位置后,位置相关信息返回Button界面。 说明 该场景暂不支持2in1设备。 前提条件 参见开发准备。 效果图展示 …

MVC流程分析

DisaptcherServlet本质是servlet&#xff0c;执行init()方法&#xff0c;自启动底层执行代码&#xff0c; 作用&#xff1a; 1、读取springmvc配置文件&#xff0c;创建Controller对象&#xff0c;放入容器中&#xff0c;map<"id",对象> 2、接收用户请求&#…

路径规划之启发式算法之十六:和声搜索算法(Harmony Search, HS)

和声搜索算法(Harmony Search, HS)是一种新兴的启发式全局搜索算法,是一种模拟音乐家即兴演奏过程的群体智能优化算法。这种算法由Zong Woo Geem等人在2001年提出,灵感来源于音乐家在寻找和声时的创造性思维过程。HS算法通过模拟音乐家演奏音乐时的选择过程来寻找问题的最优…

游戏引擎学习第45天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾 我们刚刚开始研究运动方程&#xff0c;展示了如何处理当人物遇到障碍物时的情况。有一种版本是角色会从障碍物上反弹&#xff0c;而另一版本是角色会完全停下来。这种方式感觉不太自然&#xff0c;因为在游戏中&#xff0c;…

[2015~2024]SmartMediaKit音视频直播技术演进之路

技术背景 2015年&#xff0c;因应急指挥项目需求&#xff0c;我们实现了RTMP推送音视频采集推送&#xff08;采集摄像头和麦克风数据&#xff09;模块&#xff0c;在我们做好了RTMP推送模块后&#xff0c;苦于没有一个满足我们毫秒级延迟诉求的RTMP播放器&#xff0c;于是第一…

C语言实现八大排序算法

目录 1.插入排序 1.1 直接插入排序 1.2 希尔排序 2. 选择排序 2.1 直接选择排序 2.2 堆排序 *TopK问题&#xff1a; 3. 交换排序 3.1 冒泡排序 3.2 快速排序 1. Hoare版本 2. 挖坑法 3. 前后指针法 4. 快速排序优化 5. 非递归快速排序 4.归并排序 1.递归式归并…

走进 RAG 技术:一场智能数据交互的奇幻之旅

朋友们&#xff0c;咱身处的这个时代&#xff0c;科技那可是跟开了挂似的往前冲&#xff0c;其中人工智能更是厉害得没话说&#xff0c;宛如一个充满无限可能的魔法领域&#xff0c;时不时就给咱的生活来个大变样。而在这其中&#xff0c;RAG 技术就像是突然冒出来的一颗超亮眼…

商业化大前端在性能优化领域的探索与实践

导读&#xff1a;在业务飞速发展的过程中&#xff0c;用户体验是必不可少的一个环节&#xff0c;而页面性能是直接影响用户体验的重要因素。当页面加载时间过长、交互操作不流畅时&#xff0c;意味着业务可能会出现转化率降低、用户流失等业务问题。在过去一年&#xff0c;为了…

C# 位运算

一、数据大小对应关系 说明&#xff1a; 将一个数据每左移一位&#xff0c;相当于乘以2。因此&#xff0c;左移8位就是乘以2的8次方&#xff0c;即256。 二、转换 1、 10进制转2进制字符串 #region 10进制转2进制字符串int number1 10;string binary Convert.ToString(num…

YOLOv10改进,YOLOv10利用DLKAttention融合DCNv3、DCNv4形成全新的可变形大核注意力,并二次创新C2f结构,全网首发

理论介绍 完成本篇需要参考以下三篇文章,并已添加到YOLOv10代码中 YOLOv10改进,YOLOv10添加DCNv3可变性卷积与C2f结构融合(无需编译)YOLOv10改进,YOLOv10添加DCNv4可变性卷积(windows系统成功编译),全网最详细教程YOLOv10改进,YOLOv10添加DLKA-Attention可变形大核注意力…

Linux高性能服务器编程 | 读书笔记 | 8. 信号

8. 信号 信号是由用户、系统、进程发送给目标进程的信息&#xff0c;以通知目标进程某个状态的改变或系统异常。Linux信号可由以下条件产生&#xff1a; 对于前台进程&#xff0c;用户可通过输入特殊终端字符来给它发送信号&#xff0c;如输入CtrlC通常会给进程发送一个中断信…

记录学习《手动学习深度学习》这本书的笔记(五)

这一章是循环神经网络&#xff0c;太难了太难了&#xff0c;有很多卡壳的地方理解了好久&#xff0c;比如隐藏层和隐状态的区别、代码的含义&#xff08;为此专门另写了一篇【笔记】记录对自主实现一个神经网络的步骤的理解&#xff09;、梯度计算相关&#xff08;【笔记】记录…

【git、gerrit】特性分支合入主分支方法 git rebase 、git cherry-pick、git merge

文章目录 1. 场景描述1.1 分支状态 2. 推荐的操作方式方法 1&#xff1a;git merge&#xff08;保留分支结构&#xff09;方法 2&#xff1a;git rebase&#xff08;线性合并提交历史&#xff09;直接在master分支执行git merge br_feature&#xff0c;再 执行 git pull --reba…

Python-基于Pygame的小游戏(天空之战)(一)

前言:不久前接触了Python的游戏制作的相关第三方库&#xff0c;于是学习了pygame的相关内容&#xff0c;想制作一款基于pygame的小游戏。因为还不太熟悉游戏制作和pygame&#xff0c;部分内容我参考了《Python-从入门到精通》这本书。那么好&#xff0c;话不多说&#xff0c;我…

探索 Cesium 的未来:3D Tiles Next 标准解析

探索 Cesium 的未来&#xff1a;3D Tiles Next 标准解析 随着地理信息系统&#xff08;GIS&#xff09;和 3D 空间数据的快速发展&#xff0c;Cesium 作为领先的开源 3D 地球可视化平台&#xff0c;已成为展示大规模三维数据和进行实时渲染的强大工具。近年来&#xff0c;随着…

Redis和数据库的一致性(Canal+MQ)

想要保证缓存与数据库的双写一致&#xff0c;一共有4种方式&#xff0c;即4种同步策略&#xff1a; 先更新缓存&#xff0c;再更新数据库&#xff1b;先更新数据库&#xff0c;再更新缓存&#xff1b;先删除缓存&#xff0c;再更新数据库&#xff1b;先更新数据库&#xff0c;再…

CNCF云原生生态版图-分类指南(一)- 观测和分析

CNCF云原生生态版图-分类指南&#xff08;一&#xff09;- 观测和分析 CNCF云原生生态版图-分类指南一、观测和分析&#xff08;Observability and Analysis&#xff09;&#xff08;一&#xff09;可观测性&#xff08;Observablility&#xff09;1. 是什么&#xff1f;2. 解决…

JVM运行时数据区内部结构

VM内部结构 对于jvm来说他的内部结构主要分成三个部分&#xff0c;分别是类加载阶段&#xff0c;运行时数据区&#xff0c;以及垃圾回收区域&#xff0c;类加载我们放到之后来总结&#xff0c;今天先复习一下类运行区域 首先这个区域主要是分成如下几个部分 下面举个例子来解释…

C语言学习day22:URLDownloadToFile函数/开发文件下载工具

简言&#xff1a; 在之前我们去下载某个东西都是用的迅雷之类的软件&#xff0c;但是现在&#xff0c;只要提供一个地址&#xff0c;或者一个链接&#xff0c;我们自己去做一个工具去下载。这就是我们这篇的主要内容。 也就是我们的winAPI&#xff1a;URLDownloadToFile函数 …