PyQt5 QtChart-折线图

news2024/11/24 9:38:11

PyQt5 QtChart-QLineSeries 折线图

  • QLineSeries

QLineSeries

QLineSeries类将数据序列显示为折线图,其核心代码:
lineSeries = QLineSeries()
lineSeries.append(1, 3)
lineSeries.append(5, 8)

chart.addSeries(lineSeries)
常用方法:

  • setPointsVisible(True) :设置数据点显示状态
  • setPointLabelsVisible(True):设置数据点标签显示状态
  • setPointLabelsFormat(“(@xPoint, @yPoint)”):设置数据点标签格式
  • setPointLabelsFont(QFont(None, 8)) :设置数据点标签字体
  • setPointLabelsColor(QColor(255, 0,0)) :设置数据点标签颜色
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtChart import *

import random

class MyWaveWindow(QWidget):
    def __init__(self, parent=None):
        super(MyWaveWindow, self).__init__(parent)
        self.setWindowTitle("折线图")

        # 创建图表 并设置相关参数
        chart = QChart()
        chart.setTitle("随机折线图")
        chart.setAnimationOptions(QChart.SeriesAnimations)
        chart.setAnimationDuration(1000)
        chart.setAnimationEasingCurve(QEasingCurve.InOutCirc)
        # chart.setTheme(QChart.ChartThemeBlueCerulean)
        chart.legend().show()


        # 创建折线数据序列
        lineSeries = QLineSeries()
        for value in range(0, 100):
            lineSeries.append(value, round(random.random()*10, 2))

            
        lineSeries.setPointsVisible(True)
        lineSeries.setPointLabelsVisible(True)
        lineSeries.setPointLabelsFormat("(@xPoint, @yPoint)")
        lineSeries.setPointLabelsFont(QFont(None, 8))
        lineSeries.setPointLabelsColor(QColor(255, 0, 0))
        chart.addSeries(lineSeries)

        # 创建轴坐标
        # chart.createDefaultAxes()  # 创建默认轴    
        axis_x = QValueAxis()
        axis_x.setLabelFormat("%d")
        axis_x.setMinorTickCount(3)
        axis_x.setRange(0, 100)
        chart.addAxis(axis_x, Qt.AlignBottom)
        lineSeries.attachAxis(axis_x)

        axis_y = QValueAxis()
        axis_y.setLabelFormat("%d")
        # axis_y.setTickType(QValueAxis.TicksDynamic)
        axis_y.setTickCount(20)
        axis_y.setMinorTickCount(3)
        axis_y.setRange(0, 10)
        chart.addAxis(axis_y, Qt.AlignLeft)
        lineSeries.attachAxis(axis_y)

            
        chartView = QChartView(chart)
        chartView.setRenderHint(QPainter.Antialiasing)

        layout = QVBoxLayout()
        layout.addWidget(chartView)
        self.setLayout(layout)
        self.resize(800, 600)
        

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MyWaveWindow()
    win.show()
    app.exit(app.exec_())

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【linux】容器之代码自动发布-docker

一、分析 旧: 代码发布环境提前准备,以主机为颗粒度静态 新: 代码发布环境 多套,以容器为颗粒度编译 二、业务发布逻辑设计图 三、工具使用流程图 工具 gitgitlabjenkinstomcatmavenharbordocker 流程图 四、主机规划 五…

​智能化加速,「中国供应商」如何跨越规模化周期|高工观察

在过去的十年时间里,中国在智能电动汽车行业下了巨大的「赌注」,整个行业及其背后快速成长的本地化产业链生态系统成为新一轮汽车产业增长的新引擎。 与此同时,电动化、智能化技术的国产化突围,也让整个中国本土汽车产业链获得了…

SuperMap GIS的TIN地形数据处理QA

目录 一、TIN地形数据简介 二、TIN地形数据格式 三、TIN地形数据处理 3.1 导入数据集 3.2 生成TIN地形缓存 3.3 IDesktop场景加载TIN地形 3.4 发布服务 3.5 WebGL场景加载 3.5.1 viewer初始化加载 3.5.2 scene.open加载 四、可能遇到的报错及解决方案 问题一:多个TI…

蓝海创意云×可米酷 || “360VR全景直播解决方案”亮相企业产品发布会

12月8日,可米酷2023新品发布会重磅召开,蓝海创意云为可米酷提供了前沿技术支持,助力整场活动实现了360全景VR在线直播,为企业线下发布会直播活动提供借鉴。 发布会现场采用了全新的虚拟现实技术VR视频全景直播方式,全国…

Spring 中 PageHelper 不生效问题

使用这个插件时要注意版本的问题&#xff0c;不同的版本可能 PageHelper 不会生效 springboot 导入的 pagehelper 包 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><vers…

java+mysql 基于ssm的校园二手交易系统

现如今,校园二手交易系统是商业贸易中的一条非常重要的道路,可以把其从传统的实体模式中解放中来,网上购物可以为消费者提供巨大的便利。通过校园二手交易系统这个平台,可以使用户足不出户就可以了解现今的流行趋势和丰富的商品信息,为用户提供了极大的方便,校园二手交易系统的…

技术分享 | 跨平台API对接(Java)

本章介绍基于 Jenkins API 调用的跨平台 API 对接。 基于Jenkins实现跨平台API对接 Jenkins 提供了远程访问应用编程接口&#xff08;Remote Access API&#xff09;&#xff0c;能够通过 Http 协议远程调用相关命令操作 Jenkins 进行 Jenkins 视图、任务、插件、构建信息、任…

vue3 安装使用scss

1、安装相关依赖 node-sass css-loader style-loader sass-loader 2、声明 lang"scss" 或者 scss文件中就可以直接使用 3、重点&#xff1a;安装依赖的过程中出现的各种问题 3.1、安装node-sass 报错 如果没有安装python,就去下个安装包装一下记得配置环境变量…

世界杯小吐槽

冷门 在看这次世界杯的时候&#xff0c;心里真的是一上一下&#xff0c;今年的冷门太多了&#xff01; 如&#xff1a; 阿根延 VS 沙特阿拉伯 阿根延输了&#xff08;我想可能是阿拉伯的战术比较新吧!&#xff09;那场比赛之后&#xff0c;阿拉伯还全国放假一天。到现在&#…

1.浮动 float

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 1.4什么是浮动 float属性用于创建浮动框&#xff0c;将其移动到右边&#xff0c;直到左边缘或右边缘触及包含块或另一个浮动框的边缘。 1、语法&#xff1a; <style> …

2023年pmp的考试时间是什么时候?

PMP 考试一年是有四次考试&#xff0c;分别是 3 月、6月、9月、12月&#xff0c;不出意外的话就是这几个月了&#xff0c;提前 2 个月开始报名&#xff0c;但还是要关注PMI/基金会官网的信息&#xff0c;以官网的消息为准。 一、报考条件 报考条件其实挺简单的&#xff0c;最核…

MFC 错误 error C2504: “CDialogEx”: 未定义基类-报错解决

错误&#xff1a; 在MFC文件中添加资源窗口&#xff0c;后添加新类&#xff0c;随后在.h头文件中出现 CDialogEx C class 未定义基类错误。 原因&#xff1a; 首先&#xff0c;下图这个framework.h非常关键&#xff0c;它在pch.h中也有定义&#xff0c;所以下图这个framework.h…

编译原理实验三

编译原理实验三 问题1: cpp与.ll的对应 请描述你的cpp代码片段和.ll的每个BasicBlock的对应关系。描述中请附上两者代码。 assign 对应的.ll代码如下&#xff1a; define i32 main() #0 {%1 alloca [10 x i32] ;int a[10]%2 getelementptr inbounds [10 x i32], [10 …

用“博弈论”看什么是高质量的代币设计?

在每个领域&#xff0c;都有国王&#xff0c;皇后&#xff0c;小兵和其他玩家。它们决定了该行业赖以生存的质量和标准。在同一领域&#xff0c;必然有赢家和输家。对于加密货币和代币经济来说&#xff0c;情况也是如此。本文的重点是代币经济的博弈论。它涉及游戏本身、谁在玩…

【大数据技术Hadoop+Spark】HDFS概念、架构、原理、优缺点讲解(超详细必看)

一、相关基本概念 文件系统。文件系统是操作系统提供的用于解决“如何在磁盘上组织文件”的一系列方法和数据结构。 分布式文件系统。分布式文件系统是指利用多台计算机协同作用解决单台计算机所不能解决的存储问题的文件系统。如单机负载高、数据不安全等问题。 HDFS。英文…

freeswitch的distributor模块

概述 freeswitch 是一款简单好用的VOIP开源软交换平台。 当呼叫是同一个入中继&#xff0c;但是有多条出中继时&#xff0c;需要对出中继做负载均衡&#xff0c;mod_distributor模块可以完成对应的配置和路由。 mod_distributor是一个轻量级的线路分发模块&#xff0c;配置简…

【Redis技术探索】「底层架构原理」探索分析服务核心数据结构介绍和案例

Redis常用存储类型 Redis底层提供了5种数据结构&#xff1a;字符串、哈希、列表、集合、有序集合 下图非常形象的表示了数据结构&#xff1a; 字符串String 常用命令 EX seconds&#xff1a;设置失效时长&#xff0c;单位秒PX milliseconds&#xff1a;设置失效时长&#x…

过滤器工厂详解

内置过滤器 1 AddRequestHeader GatewayFilter Factory 添加请求头 2 AddRequestParameter GatewayFilter Factory 3 AddResponseHeader GatewayFilter Factory 4 DedupeResponseHeader GatewayFilter Factory 5 Hystrix GatewayFilter Factory 6 FallbackHeaders GatewayFil…

答对这 9 题你就超越了 83.3% 的图数据库 NebulaGraph 用户

熟悉 NebulaGraph 社区的小伙伴可能都知道一个技能认证叫做&#xff1a;NGCP&#xff0c;全称 NebulaGraph Certified Professional。用户在考试认证期间在 1 个小时内回答 100 道题目&#xff0c;并获得 60 分&#xff0c;便是 NebulaGraph 认证过的 NGCP 用户。NGCP 用户除了…

二、Node.js 模块基础 1.0

模块、模块化 在讲Node.js当中的模块之前先来简单了解什么是模块、模块化、以及模块化编程的演变过程&#xff1b;模块通常指的是编程语言提供的代码组织机制&#xff0c;利用此机制可将程序拆解位独立且通用的代码单元&#xff0c;表意文绉绉&#xff0c;你可以理解为能够组装…