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, Line

if 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线图,并添加辅助线

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式——中介者模式(mediator pattern)

概述 如果在一个系统中对象之间的联系呈现为网状结构,如下图所示。对象之间存在大量的多对多联系,将导致系统非常复杂,这些对象既会影响别的对象,也会被别的对象所影响,这些对象称为同事对象,它们之间通过彼…

怎样才算是软件测试中搭建测试环境?

测试环境是QA做好检测运行的前提条件。平稳和可控的测试环境,能够使测试人员在实行测试用例时不用花费额外的时间去维护。有一些企业运维或是研发部会帮忙准备好测试环境,可是QA要是一味依赖别的部门,会局限检测运行的做好。 一、什么是测试…

游戏科技:超越娱乐的界限

12月25日,国家新闻出版署在节日前夕推出令业内人士振奋的好消息——本次共有105款国产网络游戏通过审批,获得版号,这不仅数量超过了历史新高,更使业内人士看到政策回暖的希望。 这105款游戏覆盖多家知名游戏企业,其中不…

vue3+vite 项目的创建

这里要提醒一下,如果我们要使用 vue3 的组合式api 的写法的话, 那么我们使用的 vue 版本不能低于 vue3.2 版本,不能低于 vue3.2 版本,不能低于 vue3.2 版本 vue2 已停止维护了, 现在全面拥抱vue3 之前用 vue-cli 创建…

线程池学习

github看到一个项目(GitHub - markparticle/WebServer: C Linux WebServer服务器),内部使用的一个线程池看着不错,拿来学习一下。 /** Author : mark* Date : 2020-06-15* copyleft Apache 2.0*/ #ifndef THREADPO…

计算机服务器中了mallox勒索病毒怎么解密,mallox勒索病毒解密流程

科技技术的第一生产力,网络技术的不断发展与应用,让企业逐步走向数字化时代,通过网络的力量可以为企业更好地开展各项业务工作,网络数据安全问题也由此成为众多企业关心的主要话题。近日,云天数据恢复中心接到某化工集…

PL/SQL执行.sql文件

1.编写.sql文件,创建update.sql文件,文件如下: set feedback off set define off --更新表中所有人的年龄 update a set age18; prompt Done. 2.打开plsql选择命令窗口,即选择File->New->Command Window; 打…

SpringBoot系列(一):SpringBoot介绍

SpringBoot系列(一):SpringBoot介绍 1. SpringBoot介绍 SpringBoot是由Pivotal团队提供的一套用于构建微服务的基础框架,它旨在简化Spring应用程序的创建和开发过程。 SpringBoot通过设计大量的自动化配置等方式来简化Spring原有样板化的配置&#xff…

开发规范(黑马学习笔记)

开发规范我们主要从以下几方面介绍: 开发规范-REST 我们的案例是基于当前最为主流的前后端分离模式进行开发。 在前后端分离的开发模式中,前后端开发人员都需要根据提前定义好的接口文档,来进行前后端功能的开发。 后端开发人员&#xff1…

【精通Spring】基于注解管理Bean

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

[HackMyVM]靶场 VivifyTech

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Unk…

Linux---进程信号

一、信号的概念 信号是一种向目标进程发送通知消息的机制 信号的特性(可以结合红绿灯、防空警报等生活样例来理解) 1、在信号没有出现之前,我们就已经知道如何去处理信号,即我们认识信号 2、信号是异步产生的,即我们不知道它具体何时产生 3、…

官宣 | 凯琦供应链成为亚马逊SPN物流服务商!

再播一条喜讯!在亚马逊官方平台的筛选考核下,凯琦供应链近日正式入驻亚马逊SPN服务商平台,成为亚马逊SPN第三方承运商。 这也标志着凯琦9年来在FBA物流领域的服务质量得到了客户、官方及行业的广泛认可,未来凯琦将继续为亚马逊卖家…

LLM 聊天对话界面chatwebui 增加实时语音tts功能

类似豆包聊天,可以实时语音回复 1、聊天界面 streamlit页面 参考界面:https://blog.csdn.net/weixin_42357472/article/details/133199866 stream_web.py 2、 增加实时语音tts功能(接入melotts api服务) 参考:https://blog.csdn.net/weixin_42357472/article/detai…

Python + Selenium —— 下拉菜单处理!

传统的下拉菜单 Select 元素&#xff0c;由一个 Select 一系列的 option 元素构成。 <select id"source" name"source"><option value"">--请选择--</option><option value"1001">网络营销</option>&…

全部都有的子序列

思路&#xff08;双指针&#xff09; 先使用Set来存储总共有多少不同的数字&#xff0c;然后我们使用快慢指针去遍历数组&#xff0c;快指针每次遍历到一个数&#xff0c;将其加入到哈希表&#xff0c;哈希表使用pair存储&#xff0c;第一个元素存数字&#xff0c;第二个元素存…

Ban for 1 day (wangzherongyao) 2024.03.02

王者荣耀禁赛1天 单排真的要保持【心态】&#xff0c;即便队友是这种&#xff0c;也要克制&#xff0c;不然接着就开始【连败】。 为什么我玩射手和法师喜欢提早第一件第二件出【梦魇】和【制裁】&#xff0c;因为对面有回复英雄就是一个风险&#xff0c;早做应对&#xff01;…

SpringCloudNacos注册中心服务分级存储模型

文章目录 服务分级存储模型概述配置集群同集群优先的负载均衡 权重配置总结 之前对 Nacos注册中心入门 已经做了演示. 这篇文章对 Nacos 的服务分级存储模型做理论与实践. 服务分级存储模型概述 一个服务可以有多个实例&#xff0c;例如我们的 user-server&#xff0c;可以有:…

【和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告

【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告 文章目录 【&#x1f40b;和鲸冬令营】通过数据打造爆款社交APP用户行为分析报告1 业务背景2 数据说明3 数据探索性分析4 用户行为分析4.1 用户属性与行为关系分析4.2 转化行为在不同用户属性群体中的分布…

MySQL中json类型的字段

有些很复杂的信息&#xff0c;我们一般会用扩展字段传一个json串&#xff0c;字段一般用text类型存在数据库。mysql5.7以后支持json类型的字段&#xff0c;还可以进行sql查询与修改json内的某个字段的能力。 1.json字段定义 ip_info json DEFAULT NULL COMMENT ip信息, 2.按…