使用OpenPyXL在Excel中创建折线图:数据可视化入门

简介: 本文介绍了如何使用Python的`openpyxl`库在Excel中创建折线图,包括安装库、加载Excel文件、定义数据范围、设置图表属性(如标题、轴标签)及保存文件等步骤,适合数据可视化初学者。

使用OpenPyXL在Excel中创建折线图:数据可视化入门

引言

在数据分析和报告制作过程中,图表是展示数据趋势和模式的有效工具。通过Python中的openpyxl库,我们可以轻松地在Excel工作簿中生成各种类型的图表。本文将详细介绍如何使用openpyxl库在Excel中创建一个折线图,并设置其标题、轴标签等属性。

准备工作

首先确保你的环境中已安装了openpyxl库。如果尚未安装,可以通过pip命令进行安装:

pip install openpyxl

接下来,我们将创建一个简单的脚本,用于加载一个现有的Excel文件,并为其指定的工作表添加一个折线图。这个例子中使用的文件名为“公众号关注人数.xlsx”,其中包含一个名为“折线图”的工作表。

代码详解

  1. 导入所需模块 开始之前,需要导入openpyxl及相关图表定义模块。

    from openpyxl import load_workbook
    from openpyxl.chart import LineChart, Reference
    
  2. 加载工作簿与选择工作表 使用load_workbook()函数打开目标文件,并选取要操作的工作表。

    wb = load_workbook('公众号关注人数.xlsx')
    ws = wb['折线图']
    
  3. 创建折线图对象 创建一个LineChart对象,这是我们要绘制的折线图的基础。

    chart = LineChart()
    
  4. 设置数据范围 定义数据引用范围。这里我们假设数据从第2列(B列)开始,从第1行到最后一行。

    data = Reference(ws, min_col=2, max_col=2, min_row=1, max_row=ws.max_row)
    
  5. 向图表添加数据 将定义的数据引用添加到图表中,并设置从数据中获取系列名称。

    chart.add_data(data, titles_from_data=True)
    
  6. 设置图表标题和轴标签

    • 设置图表的主标题。

      chart.title = '公众号不同月份的关注人数'
      
    • 设置Y轴标题。

      chart.y_axis.title = '关注人数'
      
    • 设置X轴标题。

      chart.x_axis.title = '月份'
      
  7. 将图表添加到工作表 在工作表中指定位置(例如D1单元格)添加图表。

    ws.add_chart(chart, 'D1')
    
  8. 保存修改后的文件 最后不要忘记保存所有更改。

    wb.save('4_4_7_2_折线图.xlsx')
    

完整代码

以下是完整的代码示例:

from openpyxl import load_workbook
from openpyxl.chart import LineChart, Reference

# 加载工作簿
wb = load_workbook('4_4_7_2.xlsx')
ws = wb['折线图']

# 创建折线图对象
chart = LineChart()

# 设置数据范围
data = Reference(ws, min_col=2, max_col=2, min_row=1, max_row=ws.max_row)

# 向图表添加数据
chart.add_data(data, titles_from_data=True)

# 设置图表标题和轴标签
chart.title = '公众号不同月份的关注人数'
chart.y_axis.title = '关注人数'
chart.x_axis.title = '月份'

# 将图表添加到工作表
ws.add_chart(chart, 'D1')

# 保存修改后的文件
wb.save('4_4_7_2_折线图.xlsx')

运行结果:

截屏2024-12-05 14.49.48

结语

通过上述步骤,你已经学会了如何利用Python中的openpyxl库在Excel中创建并自定义折线图。这不仅能够帮助提高工作效率,同时也使得最终输出的数据更加直观易懂。希望这篇教程对你有所帮助!如果你有任何问题或建议,请随时留言交流。

相关文章
|
7月前
|
Java Apache
EasyPOI操作Excel从零入门
我们不造轮子,只是轮子的搬运工。(其实最好是造轮子,造比别人好的轮子)开发中经常会遇到excel的处理,导入导出解析等等,java中比较流行的用poi,但是每次都要写大段工具类来搞定这事儿,此处推荐一个别人造好的轮子,EasyPOI封装了Apache的POI技术,实现了基本的Excel导入、导出从此不再为Excel操作头疼~
436 2
EasyPOI操作Excel从零入门
|
19天前
|
Python
使用OpenPyXL库实现Excel单元格其他对齐方式设置
本文介绍了如何使用Python的`openpyxl`库设置Excel单元格中的文本对齐方式,包括文本旋转、换行、自动调整大小和缩进等,通过具体示例代码展示了每种对齐方式的应用方法,适合需要频繁操作Excel文件的用户学习参考。
150 85
使用OpenPyXL库实现Excel单元格其他对齐方式设置
|
23天前
|
BI Python
利用OpenPyXL实现Excel条件格式化
本文介绍如何使用Python的`openpyxl`库为Excel文件添加条件格式,包括颜色渐变、图标集、数据条及基于公式的规则等,提升数据可读性和美观度。通过具体示例,展示了从安装库、加载文件到应用各种条件格式的详细过程,最后保存修改后的文件。
60 12
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
115 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
4月前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
192 1
使用Python+openpyxl实现导出自定义样式的Excel文件
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
对excel读写的三个模块,xlsxwriter最牛,xlwt , xlrd,openpyxl
|
4月前
|
索引 Python
Python基于Excel多列长度不定的数据怎么绘制折线图?
本文档详述了如何运用Python从CSV格式的Excel文件中读取特定范围的数据,并基于这些数据绘制多条折线图。文件的第一列代表循环增长的时间序列,后续各列包含不同属性的数据。通过指定起始与结束行数,可选取一个完整的时间循环周期内的数据进行绘图。每列数据以不同颜色和线型表示,并且图片长度会根据时间序列的长度动态调整,确保图表清晰易读。最终生成的图表将保存至指定文件夹。
|
4月前
|
Python
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
Python openpyxl 将 Excel中的汉字 转换成拼音首字母
56 0
|
5月前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
6月前
|
API Python
Python库`openpyxl`是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。
【6月更文挑战第19天】`openpyxl`是Python处理xlsx文件的库,支持读写Excel 2010格式。使用`pip install openpyxl`安装。基本操作包括加载文件、读写单元格、操作行和列。例如,加载Excel后,可以读取单元格`A1`的值,或将“Hello, World!”写入`A1`。还可修改单元格内容,如加1后保存到新文件。更多功能,如样式和公式,见官方文档[1]。 [1]: <https://openpyxl.readthedocs.io/en/stable/>
93 1