python:pyecharts 画基金净值 月K线图

pip install pyecharts==1.9.1

 pyecharts-1.9.1-py3-none-any.whl

我想在本地(PC) 画出 基金净值 月K线图,不想每次看图都需联网。

cd my_dir
mkdir echarts
cd echarts
curl -O https://assets.pyecharts.org/assets/echarts.min.js

修改一下开源代码

cd \Python38\Lib\site-packages\pyecharts\  编辑 globals.py 第125行
class _OnlineHost:
    DEFAULT_HOST = "https://assets.pyecharts.org/assets/"

改为 DEFAULT_HOST = "./echarts/"

编写  kline_m.py  如下

# coding=utf-8
import os, sys
from pyecharts import options as opts
from pyecharts.charts import Kline, Lineif len(sys.argv) ==2:fcode = sys.argv[1]file1 = 'M'+fcode +'.csv'file2 = 'M'+fcode +'.html'
elif len(sys.argv) ==3:fcode = sys.argv[1]file1 = 'M'+fcode +'_'+sys.argv[2]+'.csv'file2 = 'M'+fcode +'_'+sys.argv[2]+'.html'
else:print('usage: kline_m.py fcode ')sys.exit(1)if len(fcode) !=6:print(' fcode is char(6)')sys.exit(2)#file1 = 'M'+fcode +'.csv'
#file2 = 'M'+fcode +'.html'if not os.path.exists(file1):print(file1 +' is not exists.')sys.exit(3)# 定义K线图的数据:['open','close','low','high'] 
# 数据项: [open,close,low,high,mavg] 
#  (即:[开盘值,收盘值,最低值,最高值,平均值])
xlist = []
ylist = []
clist = []
fp = open(file1,'r')
fp.readline() # 跳过第1行表头: ym,open,close,low,high,mavg
for line in fp:ym,open,close,low,high,mavg = line.strip().split(',')xlist.append(ym)ylist.append([open,close,low,high])clist.append(mavg)   
print(str(len(xlist)))
if len(sys.argv) ==2:title = fcode+" 基金净值 月K线图"
elif len(sys.argv) ==3:title = fcode+" 累计净值 月K线图"# 创建一个K线图实例
kline = Kline(init_opts=opts.InitOpts(width="1200px", height="600px"))# 设置x轴的数据
kline.add_xaxis(xlist)# 设置y轴的数据,这里的 "kline" 是系列名称,data 是K线图的数据
kline.add_yaxis("kline", ylist)# 设置全局配置项,包括x轴、y轴、标题等配置
kline.set_global_opts(xaxis_opts=opts.AxisOpts(is_scale=True),  # 设置x轴的刻度是否自适应yaxis_opts=opts.AxisOpts(is_scale=True,   splitarea_opts=opts.SplitAreaOpts(is_show=True,areastyle_opts=opts.AreaStyleOpts(opacity=1))),datazoom_opts=[opts.DataZoomOpts()],title_opts=opts.TitleOpts(title=title),   # 设置标题
)
# 平均线,还可以加多条线
line1 = Line().add_xaxis(xlist).add_yaxis('mavg', clist, yaxis_index=0)
line1.set_series_opts(label_opts=opts.LabelOpts(is_show=False),linestyle_opts=opts.LineStyleOpts(width=2),)
kline.overlap(line1)kline.render(path=file2)

运行 python kline_m.py 660008

生成 M660008.html

参考:pyecharts绘制K线图,并添加辅助线

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一次架构优化处理性能从3千->3万

0.背景 优化Kafka消费入Es,适配600台设备上报数据,吞吐量到达2万每秒 1.环境配置 2.压测工具 3.未优化之前的消费逻辑 4.优化之后的消费流程 5.多线程多ESclient 6.修改ES配置,增加kafka分区,增加线程,提升吞吐量 7.…

【数据结构】实现队列

大家好,我是苏貝,本篇博客带大家了解队列,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 队列的概念及结构二. 队列的实现队列的结构体初始化销毁队尾插入队头删除显示第一个节点的值…

【双指针】移动零

移动零 链接 . - 力扣(LeetCode). - 备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/move-zeroes/submissions/506832592/ 题目 题解 异地变…

RFID(Radio Frequency Identification)技术笔记

一、RFID的介绍 RFID,全称为Radio Frequency Identification,即射频识别技术,也常被称为电子标签或无线射频识别。它是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关数据,识别过程无需人工干预&…

Redis、Elasticsearch(ES)、RocketMQ和MYSql 持久化对比

在现代大数据和分布式系统中,数据持久化是一个至关重要的话题。本文将针对 Redis、Elasticsearch(ES)、 RocketMQ和MYSql 这四种常见的数据存储和消息队列系统进行持久化方面的对比分析,帮助读者更好地了解它们各自的特点和适用场…

【Mybatis】多表映射 第二期

文章目录 一、多表映射概念二、对一映射三、对多映射四、多表映射总结4.1 多表映射优化4.2 多表映射总结 一、多表映射概念 多表关系: 一对一一对多 | 多对一多对多 一个 客户 对应 多个订单一个订单 对应 一个客户 举例: 对一 实体类设计&#xff1a…

自学高效备考2024年AMC10:2000-2023年1250道AMC10真题解析

如何通过自学提高初中和高中数学成绩?现在初中和高中有哪些可以参加的数学竞赛?有没有难度适中、兼具趣味性的数学竞赛?现在参与人数较多的初中、高中数学有哪些?... 如果你也在关注以上问题,不妨看看AMC10美国数学竞…

【书生·浦语大模型实战营】第 2 节 -课后作业

第二节 -轻松玩转书生浦语大模型趣味 Demo-课后作业 0.课程体验0.1 鸡兔同笼0.2 逻辑推理0.3 AI会毁灭人类吗? 1.课后作业1.1 基础作业1.1.1 作业11.1.2 作业2 0.课程体验 课程链接:https://github.com/internLM/tutorial 首先,这个课程是免费…

C语言do...while 语句的基本格式是什么?

一、问题 C语⾔中有三种循环语句,do...while 语句是其中的⼀个,它的基本格式是怎样的呢? 二、解答 do...while 语句的⼀般形式为: do语句;while(表达式); 其中语句是循环体,表达式是循环条件。 do...while 语句是这…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的口罩识别系统(Python+PySide6界面+训练代码)

摘要:开发口罩识别系统对于提升公共卫生安全和疫情防控具有重要意义。本篇博客详细介绍了如何利用深度学习构建一个口罩识别系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并结合了YOLOv7、YOLOv6、YOLOv5的对比,给出…

攻略 | 如何通过数据解析,优化知识库以满足用户需求

在日常生活和工作中,一个高效且实用的知识库已成为我们的得力助手。但如何确保它不仅仅是信息的堆砌,真正为用户创造价值与效益?接下来,我们将深入探讨这一问题,并借助HelpLook知识库的数据分析功能,带您全…

修改一个教材上的网站源码使它能在www服务器子目录上正常运行

修改一个教材上的网站源码,使它能在www服务器子目录上正常运行。 该网站源码是教材《PHPMySQL网站开发项目式教程》上带的网站源码。该源码是用 php html 写的。该源码包含对mysql数据库进行操作的php代码。以前该网站源码只能在www服务器的根目录上正常运行&…