当前位置: 首页 > news >正文

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

目录

运行情况:

代码:


承接 【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.lryc.cn/news/103547.html

相关文章:

  • 中文多模态医学大模型智能分析X光片,实现影像诊断,完成医生问诊多轮对话
  • 企业服务器数据库被360后缀勒索病毒攻击后采取的措施
  • FFmpeg-两个文件mix重采样以那个为主
  • 【WebGL】初探WebGL,我了解到这些
  • fwft fifo和standard fifo
  • pdf阅读器哪个好用?这个阅读器别错过
  • 【LeetCode】下降路径最小和
  • 从0到1开发go-tcp框架【2-实现Message模块、解决TCP粘包问题、实现多路由机制】
  • Boost开发指南-3.6weak_ptr
  • Swift 周报 第三十三期
  • 网络空间安全及计算机领域常见英语单词及短语——网络安全(一)
  • Go基准测试Benchmark
  • docker容器的基本操作
  • MySQL绿色安装和配置
  • 《cuda c编程权威指南》03 - cuda小功能汇总
  • Java:Java程序通过执行系统命令调用Python脚本
  • this is incompatible with sql_mode=only_full_group_by
  • GCC编译选项
  • 信息安全战线左移!智能网联汽车安全亟需“治未病”
  • 服务器介绍
  • Java_25_方法引用
  • QT基于TCP协议实现数据传输以及波形绘制——安卓APP及Windows程序双版本
  • mac 中 brctl 怎么用
  • 20.2 HTML 常用标签
  • mysql_2.5——【约束】详解
  • 回归预测 | MATLAB实现POA-CNN-BiLSTM鹈鹕算法优化卷积双向长短期记忆神经网络多输入单输出回归预测
  • opencv顺时针,逆时针旋转视频并保存视频
  • 【LeetCode】最小路径和
  • zygote forkSystemServer及systemServer启动
  • 享元模式-提供统一实现对象的复用