Python读取Excel并绘制折线图与柱状图:基于xlrd与pyecharts的实现
本文介绍如何使用Python读取Excel表格数据,并利用pyecharts库同时绘制折线图和柱状图。通过xlrd读取Excel列数据,结合numpy生成等间隔坐标轴,最终将图表保存为本地HTML文件,实现交互式数据可视化展示。
环境准备与依赖安装
在开始编写代码之前,需要确保Python环境中已安装必要的第三方库。主要涉及两个核心库:xlrd用于读取Excel文件,pyecharts用于生成交互式图表。
可以通过以下命令在终端或命令行中安装这些库:
# 使用pip安装xlrd
pip install xlrd
# 或者使用Python模块方式安装
python -m pip install xlrd
# 安装pyecharts绘图库
pip install pyecharts读取Excel数据
使用xlrd库打开Excel文件并获取工作表数据。以下示例展示了如何读取指定路径下的Excel文件,并提取第三列的数据:
import xlrd
# 打开Excel文件,注意路径中的反斜杠需要转义或使用原始字符串
# 这里假设文件位于用户桌面
file_path = r'C:\Users\ASUS\Desktop\txt1\python3\yxz2.xlsx'
data = xlrd.open_workbook(file_path)
# 获取第一个工作表
table = data.sheets()[0]
# 读取第三列(索引为2)的所有值
y = table.col_values(2)上述代码中,table.col_values(2)会返回一个列表,包含Excel表格第三列的所有单元格值。这些值将作为图表的Y轴数据。
生成坐标轴与绘制图表
为了绘制折线图和柱状图,需要为X轴生成等间隔的数值。这里使用numpy库中的linspace函数来生成与Y轴数据长度相同的X轴坐标,防止因数据量过大导致绘图尺度异常。
import numpy as np
from pyecharts import Bar
# 生成等间隔的X轴数据,范围从1到296,长度与y列表相同
t = np.linspace(1, 296, len(y))
# 创建Bar对象,设置主标题和副标题
bar = Bar("文章阅读量展示", "统计如下")
# 添加数据系列,包括标题、X轴数据、Y轴数据以及是否显示更多工具
bar.add("博客文章阅读量折线图展示", t, y, is_more_utils=True)
# 展示HTML源代码(可选,用于调试)
bar.show_config()保存与查看结果
最后,将生成的图表保存为本地HTML文件,以便在浏览器中查看交互式图表:
# 保存为本地HTML文件
output_path = r"C:/Users/ASUS/Desktop/txt1/bokezhexiantu.html"
bar.render(output_path)执行上述代码后,会在指定路径生成bokezhexiantu.html文件。双击该文件即可在默认浏览器中打开,查看包含折线图和柱状图的交互式图表。
完整代码示例
以下是整合后的完整Python代码,可直接运行:
# coding:utf-8
import xlrd
import numpy as np
from pyecharts import Bar
# 读取Excel文件路径
file_path = r'C:\Users\ASUS\Desktop\txt1\python3\yxz2.xlsx'
data = xlrd.open_workbook(file_path)
table = data.sheets()[0]
# 读取第三列数据
y = table.col_values(2)
# 生成X轴等间隔数据
t = np.linspace(1, 296, len(y))
# 创建并配置图表
bar = Bar("文章阅读量展示", "统计如下")
bar.add("博客文章阅读量折线图展示", t, y, is_more_utils=True)
bar.show_config()
# 保存为HTML文件
output_path = r"C:/Users/ASUS/Desktop/txt1/bokezhexiantu.html"
bar.render(output_path)

以上就是Python读取Excel表格并绘制折线图与柱状图的详细内容,更多关于Python数据可视化、Excel处理及pyecharts使用的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













