python_PyQt5开发验证K线视觉想法工具V1.1 _增加标记类型_线段

chatgpt/2023/9/24 1:57:53

目录

运行情况:

代码:


承接 【python_PyQt5开发验证K线视觉想法工具V1.0】 博文

https://blog.csdn.net/m0_37967652/article/details/131966298

运行情况:

 添加线段数据在K线图中用线段绘制出来

代码:

1 线段标记的数据格式:

[[[x0,y0],[x1,y1]],[[x0,y0],[x1,y1]],...]

[x0,y0]和[x1,y1]是线段两个端点的坐标

2 在 Graph_Widget类中 add_marks 方法修改为

    def add_marks(self,data:List):# 点,曲线,区间# '标题','规则','形状','颜色','数据'self.del_marks()for row in data:try:rule_str = row[1]shape_str = row[2]color_str = row[3]data_str = row[4]data_json = json.loads(data_str)if rule_str == '点':for node in data_json:targetItem = pg.TargetItem(pos=node,size=20,symbol=self.pointshape_map[shape_str],pen=color_str,brush=color_str,movable=False)self.pw.addItem(targetItem)self.add_items_list.append(targetItem)passif rule_str == '线段':for node in data_json:targetItem = pg.LineSegmentROI(positions=(node[0],node[1]),pen={'color':color_str,'width':2},movable=False)self.pw.addItem(targetItem)self.add_items_list.append(targetItem)passpassif rule_str == '连线':for node in data_json:targetItem = pg.PlotCurveItem(x=node[0],y=node[1],pen=color_str,symbol=self.pointshape_map[shape_str])self.pw.addItem(targetItem)self.add_items_list.append(targetItem)passpassif rule_str == '区间':for node in data_json:targetItem = pg.LinearRegionItem(values=node,pen=color_str,movable=False)self.pw.addItem(targetItem)self.add_items_list.append(targetItem)passpassexcept Exception as e:print(e)continuepasspass

3 在SettingMarksWidget 类中

init_data 方法

    def init_data(self):self.please_select_str: str = '-- 请选择 --'self.rule_map: Dict = {'点':'数据格式提示:[[x,y],[x,y],...]','线段':'[[(x0,y0),(x1,y1)],[(x0,y0),(x1,y1)],...]','连线':'数据格式提示:[[x_list,y_list],...]','区间':'数据格式提示:[[x0,x1],[x0,x1],...]'}self.no_pointshape_rules_list: List = ['线段','区间']self.pointshape_map: Dict = {'圆':'o','三角形':'t','星形':'star','正方形':'s','菱形':'d','加号':'+','向下箭头':'arrow_down','向左箭头':'arrow_left','向上箭头':'arrow_up','向右箭头':'arrow_right'}pass
rule_combox_currentTextChanged 方法
    def rule_combox_currentTextChanged(self,txt:str):cur_txt = self.rule_combox.currentText()if not cur_txt or cur_txt == self.please_select_str:self.rule_label.setText('')returnself.rule_label.setText(self.rule_map[cur_txt])if cur_txt in self.no_pointshape_rules_list:self.pointshape_combox.setCurrentText(self.please_select_str)self.pointshape_combox.setDisabled(True)else:self.pointshape_combox.setDisabled(False)pass

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

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

企业计算机服务器数据库中了360后缀勒索病毒怎么解决,数据恢复

近日,一家中型企业的服务器数据库遭到了一起严重的网络安全事件,导致企业的运营暂时陷入混乱。据了解,该企业的技术人员在服务器数据库中发现了一种名为“360后缀”勒索病毒,该勒索病毒通过对企业重要文件进行加密,数据…

合宙Air724UG LuatOS-Air script lib API--log

Table of Contents log _log(level, tag, …) (local函数 无法被外部调用) log.trace(tag, …) log.debug(tag, …) log.info(tag, …) log.warn(tag, …) log.error(tag, …) log.fatal(tag, …) log.openTrace(v, uartid, baudrate) log 模块功能:系统日志记录,分…

支付宝调试问题

网页支付返回表单不正确显示 升级前现象&#xff1a; SpringBoot 的返回给前台的<form>表单会自动提交&#xff0c;结果一直提示这个&#xff0c;而不是期望的支付宝登录页 实际得到这个&#xff1a; 期望得到这个&#xff1a; 因为沙箱账号是之前申请的&#xff0c;所…

【EI/SCOPUS会议征稿】第三届检测技术与自动化工程国际学术会议 (TTAE 2023)

第三届检测技术与自动化工程国际学术会议 (TTAE 2023)原定将于2023年9月15-17日在中国西安召开。 检测技术与自动化工程国际学术会议将每年举行一次&#xff0c;旨在将“检测技术”和“自动化工程”等学术领域的学者、专家、研发者、技术人员聚集到一个学术交流的平台&#xf…

怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象--ref和怎么去引用/注入内部 bean 对象-内部 bean 对象

&#x1f600;前言 本章是spring基于XML 配置bean系类中第2篇讲解怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象–ref和怎么去引用/注入内部 bean 对象 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0…

25.9 matlab里面的10中优化方法介绍—— 惩罚函数法求约束最优化问题(matlab程序)

1.简述 一、算法原理 1、问题引入 之前我们了解过的算法大部分都是无约束优化问题&#xff0c;其算法有&#xff1a;黄金分割法&#xff0c;牛顿法&#xff0c;拟牛顿法&#xff0c;共轭梯度法&#xff0c;单纯性法等。但在实际工程问题中&#xff0c;大多数优化问题都属于有约…

CopyTranslator-复制即翻译 文献翻译神器 支持多接口翻译

一、软件起源 科研人员总少不了阅读大量文献&#xff0c;理解文献内容就成了科研生活常态&#xff0c;而我们平时复制PDF内容黏贴到网页翻译的时候可能会出现多余换行而导致翻译乱码&#xff0c;译文与中文阅读习惯不符的情况&#xff0c;翻译结果很差&#xff0c;需要手动删除…

【linux升级ssh】 利用rpmbuild工具对ssh打包为rpm包进场安装升级

制作rpm包 rpmbuild命令用于创建软件的二进制包和源代码包。 官方文档&#xff1a;rpm.org - RPM Reference Manual rpmbuild 中文手册&#xff1a;rpmbuild 中文手册 [金步国] 使用rpmbuild将tar包打成rpm包 RPM打包使用的是rpmbuild命令&#xff0c;这个命令来自rpm-buil…
推荐文章