没有合适的资源?快使用搜索试试~ 我知道了~
首页Python读取Excel数据并生成图表过程解析
资源详情
资源评论
资源推荐

Python读取读取Excel数据并生成图表过程解析数据并生成图表过程解析
主要介绍了Python读取Excel数据并生成图表过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
可以参考下
一、需求背景一、需求背景
自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表。以前一直是用Excel实现的。但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比
例解决。
二、需求实现目标二、需求实现目标
通过Python程序读取Excel文件中的数据,生成图表,最好将生成图表生成至浏览器页面,后期数据多之后,也能自动缩放,而不会出现显示不全问题。
三、需求实现代码三、需求实现代码
# 调用本地echarts.min.js 文件
from pyecharts.globals import CurrentConfig
CurrentConfig.ONLINE_HOST ='D:\develop_study\Python38\pyecharts\'
from pyecharts.charts import Line # 数据可视化折线图
import pyecharts.options as opts
import xlrd # 读取excel文件
import webbrowser # 用于自动打开生成的HTML文件
# 打开excel
data = xlrd.open_workbook('E:\知识点滴积累\蜗牛定投价格曲线_python.xlsx') # 打开excel工作簿
table = data.sheet_by_index(1) # 打开第一个页签
print(f'当前已定投周数:{table.nrows}-1') # 获取行数
print(f'当前总计列数:{table.ncols}') # 获取列数
# print(table.row_values(0)) # 获取行数据
dt_dates = [] # 日期
dt_hs300s =[] # 沪深300
dt_zz500s =[] # 中证500
dt_nz100s =[] # 纳指100
dt_bp500s =[] # 标普500
for i in range(1,table.nrows):
dt_date = table.row_values(i)[0]
dt_dates.append(dt_date)
dt_hs300 = table.row_values(i)[1]
dt_hs300s.append(dt_hs300)
dt_zz500 = table.row_values(i)[2]
dt_zz500s.append(dt_zz500)
dt_nz100 = table.row_values(i)[3]
dt_nz100s.append(dt_nz100)
dt_bp500 = table.row_values(i)[4]
dt_bp500s.append(dt_bp500)
# print(dt_dates)
# print(dt_hs300s)
# print(dt_zz500s)
# print(dt_nz100s)
# print(dt_bp500s)
# 折线图
line = Line(init_opts=opts.InitOpts(width='1200px',height='700px'))
line.add_xaxis(dt_dates)
line.add_yaxis('沪深300', dt_hs300s)
line.add_yaxis('中证500', dt_zz500s)
line.add_yaxis('纳指100', dt_nz100s)
line.add_yaxis('标普500', dt_bp500s)
# 所有折线图显示平均值、最大值、最小值
line.set_series_opts(
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_='average',name='平均值'),
opts.MarkPointItem(type_='max',name='最大值'),
opts.MarkPointItem(type_='min',name='最小值')
]
)
)
# 设置标题等
line.set_global_opts(title_opts=opts.TitleOpts('跟踪指数周变化曲线'),
# 显示工具箱
toolbox_opts=opts.ToolboxOpts(),
xaxis_opts=opts.AxisOpts(axislabel_opts={"rotate":45,"interval":0})
)
# interval:0 横轴信息全部显示
# rotate:45 45度倾斜显示
line.render('价格曲线可视化3.html')
webbrowser.open('价格曲线可视化3.html')
添加标题
x轴刻度全部显示
设置各对象最大值、最小值、平均值
设置图表大小
四、需求实现效果四、需求实现效果



















weixin_38625448
- 粉丝: 8
- 资源: 956
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- plc控制交通灯毕业设计论文.doc
- 本科毕设论文-—基于单片机控制“航标灯”的控制系统设计与调试.doc
- 基于单片机的心率设计毕业设计论文.doc
- 前端 60 道面试题及答案.docx
- 十七、海康威视摄像头开发文档
- 基于ssm+mysql在线读书与分享论坛源码数据库论文.doc
- 电子商务环境下我国国际贸易问题研究.doc
- 基于ssm+mysql的在线收银系统源码数据库论文.docx
- 基于SSM+mysql的快递管理系统源码数据库论文.doc
- 人工智能方法在土木工程监测中的运用.pptx
- 算法、演绎倾向与数学史的分期.pptx
- 中小企业电子商务采购发展状况与对策研究.pptx
- 基于javaee的通用商城系统设计设计.doc
- 基于php网站系统的移动增值业务的设计与实现--毕业设计论文.doc
- 基于MSP430单片机的信号发生器设计-毕业论文.doc
- day03 代理+适配器+桥接+外观+装饰
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论1