Python读取Excel数据并生成图表过程解析

 更新时间:2020年06月18日 10:11:59   作者:前进小蜗牛  
这篇文章主要介绍了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轴刻度全部显示
  • 设置各对象最大值、最小值、平均值
  • 设置图表大小

四、需求实现效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Python实现账号密码输错三次即锁定功能简单示例

    Python实现账号密码输错三次即锁定功能简单示例

    这篇文章主要介绍了Python实现账号密码输错三次即锁定功能,结合实例形式分析了Python文件读取、流程控制、数据判断等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • python Opencv计算图像相似度过程解析

    python Opencv计算图像相似度过程解析

    这篇文章主要介绍了python Opencv计算图像相似度过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • python+html实现前后端数据交互界面显示的全过程

    python+html实现前后端数据交互界面显示的全过程

    最近项目中采用了前后端分离的技术,感觉有必要给大家总结下,所以下面这篇文章主要给大家介绍了关于python+html实现前后端数据交互界面显示的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python集合的基础操作

    Python集合的基础操作

    这篇文章主要介绍了Python集合的基础操作,Python中的集合和数学上的集合基本是没有区别的,是无序的,即不可以使用索引访问的,集合中是不能出现重复元素的。想着情了解具体内容的小伙伴可以参考下面文章内容
    2021-11-11
  • Java编程迭代地删除文件夹及其下的所有文件实例

    Java编程迭代地删除文件夹及其下的所有文件实例

    这篇文章主要介绍了Java编程迭代地删除文件夹及其下的所有文件实例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python实现替换文件中指定内容的方法

    Python实现替换文件中指定内容的方法

    这篇文章主要介绍了Python实现替换文件中指定内容的方法,涉及Python文件读写、字符串替换等相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • 解决Pycharm模块安装慢问题的两种方法

    解决Pycharm模块安装慢问题的两种方法

    很多人在学习Python时,都会使用PyCharm这个编译器,下面这篇文章主要给大家介绍了关于解决Pycharm模块安装慢问题的两种方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Python元组及文件核心对象类型详解

    Python元组及文件核心对象类型详解

    本篇文章主要给大家详细讲述了Python核心对象类型之元组及文件的相关内容,对此有兴趣的学习下。
    2018-02-02
  • python3 删除所有自定义变量的操作

    python3 删除所有自定义变量的操作

    这篇文章主要介绍了python3 删除所有自定义变量的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Django 导出 Excel 代码的实例详解

    Django 导出 Excel 代码的实例详解

    本篇文章主要介绍了Django 导出 Excel 代码的实例详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论