PyQt5 QtChart-曲线图

news2024/11/25 4:26:38

PyQt5 QtChart-QSplineSeries曲线图

  • QSplineSeries

QSplineSeries

QSplineSeries类将数据序列显示为曲线图。核心代码:
spline = QSplineSeries()
spline.append(0, 23)
spline.append(1, 56)

chart.addSeries(lineSeries)

常用方法:

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

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QSplineSeries, QLineSeries, QChart, QChartView, QValueAxis


class MySplineWindow(QWidget):
    def __init__(self, parent=None):
        super(MySplineWindow, self).__init__(parent)
        self.setWindowTitle("曲线图表演示")

        chart = QChart()
        chart.setTitle("曲线图表")
        chart.setAnimationDuration(1500)
        chart.setAnimationOptions(QChart.SeriesAnimations)
        chart.setAnimationEasingCurve(QEasingCurve.OutCirc)
        chart.legend().show()

        spline = QSplineSeries()
        for value in range(1, 50):
            spline.append(value, round(random.random()*100))


        spline.setName("随机噪声")
        # spline.setColor(Qt.blue)
        spline.setPointsVisible(True)
        spline.setPointLabelsVisible(True)
        spline.setPointLabelsFormat("(@xPoint, @yPoint)")
        spline.setPointLabelsFont(QFont(None, 6))
        spline.setPointLabelsColor(Qt.darkBlue)
                
        chart.addSeries(spline)
        chart.createDefaultAxes()

        axis_x = QValueAxis()
        axis_x.setLabelFormat("%d")
        chart.addAxis(axis_x, Qt.AlignBottom)
        spline.attachAxis(axis_x)

        chartView = QChartView()
        chartView.setChart(chart)
        chartView.setRenderHint(QPainter.Antialiasing)
        
        vbox = QVBoxLayout()
        vbox.addWidget(chartView)
        self.setLayout(vbox)


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

在这里插入图片描述

增加抗锯齿:chartView.setRenderHint(QPainter.Antialiasing)
在这里插入图片描述

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

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

相关文章

[附源码]Python计算机毕业设计高校教室管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

Stm32旧版库函数11——串口发送数据 使用中断接收

#include "stm32f10x_lib.h" #include "usart.h" #include "delay.h" /* ******************************************************************************** ** 函数名称 : USART1_Configuration(void) ** 函数功能 :…

城市消费券之地理位置攻防

近期,顶象发布了《城市消费券安全调研报告》(以下简称《调研报告》)。《调研报告》从城市消费券的发放规模、核销情况、风险出发,进一步分析除了黑灰产的作弊手段以及作弊工具。 其就作弊手段而言,黑灰产哄抢城市消费…

软件工程毕业设计题目100例

文章目录0 简介1 如何选题2 最新软件工程毕设选题3 最后0 简介 学长搜集分享最新的软件工程业专业毕设选题,难度适中,适合作为毕业设计,大家参考。 学长整理的题目标准: 相对容易工作量达标题目新颖 1 如何选题 最近非常多的学…

3个条件,筛选出最趁手的财务分析工具

市面上的财务分析工具很多,但究竟哪一种更好用,更趁手?这就需要看哪个财务分析工具可做到以下3大要求。 1:是否能快速计算财务分析指标 在财务分析中,存在一个需要在行与行之间进行计算分析需求,比如在利…

[附源码]Python计算机毕业设计高校教室申请管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

网络原理 一

网络原理 本文主要是介绍TCP/IP协议这里面的核心内容,还是很重要的 TCP/IP协议的层级 应用层 传输的数据如何去使用 传输层 起点和终点的传输 网络层 中间传输过程中的路径规划 数据链路层 相邻节点的传输 物理层 这是最底层的,相当于基础设施 应用层 不同的应用程序,涉及到…

「Electron|快速开始」来写个Hello World吧

本文主要介绍如何快速使用Electron生成一个Hello World应用 文章目录主要步骤一、准备工作创建项目安装electron二、编写electron应用所需的基本内容首先,我们需要给electron应用一个入口创建窗口往窗口里面放一个HTML界面,写上"Hello World!"…

修改ik分词器源码实现直连数据库动态增量更新词汇

谈到es的中文分词器,肯定少不了ik分词器.现ik分词器有两种获取主词汇和停用词的方法: 一是通过ik\config目录下的main.dic和stopword.dic获取,但是每次修改后要重启才能生效 二是通过提供接口返回所有词汇的接口,接口路径配置在.但是该方式每次都需要将所有词汇返回,效率不高.…

大数据课设

----------------------------------------------------------------------------------------------------------------------------- 由于本人主修嵌入式方向最多使用的就是C语言,由于物联网这个专业的特殊性,javaweb没少 写,所以java也用…

Nginx动静分离

🍁博客主页:👉不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉Linux专栏 🔥欢迎大佬指正,一起学习!一起加油! 目录&…

[附源码]Python计算机毕业设计SSM基于Java的租房系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

论文笔记:CycleMorph: Cycle Consistent UnsupervisedDeformable Image Registration

CycleMorph: Cycle Consistent Unsupervised Deformable Image Registration 针对本篇论文个人总结: 文章最重要的点在于施加循环一致性,模型有两个网络,移动图像与固定图像互相配准过程中施加约束优化网络提高配准精度,仔细看图…

如何求解欧拉路径?

求解欧拉路径前言一、案例二、回溯三、源码四、复杂度分析五、欧拉科普总结参考文献前言 欧拉路径 从图的一个节点出发,每条边只访问一次,遍历完了所有图节点,这条路径为欧拉路径。 一、案例 二、回溯 按照上面的例子,很容易理…

【LeetCode】1945. 字符串转化后的各位数字之和

题目描述 给你一个由小写字母组成的字符串 s ,以及一个整数 k 。 首先,用字母在字母表中的位置替换该字母,将 s 转化 为一个整数(也就是,‘a’ 用 1 替换,‘b’ 用 2 替换,… ‘z’ 用 26 替换&…

计算机网络原理第1章 概述

1.1 计算机网络在信息时代中的作用 1.2 互联网概述 1.2.1 网络的网络 互联网 特指Internet,起源于美国,现已发展成为世界上最大的、覆盖全球的计算机网络。 计算机网络 (简称为网络) 由若干结点(node)和连接这些结点的链路(link)组…

玩转MySQL:一站式解决分库分表后患问题方案

引言 上篇有关分分库分表一文中已经将分库分表的方法论全面阐述清楚了,总体看下来用一个字形容,那就是爽!(手动狗头)尤其是分库分表技术能够让数据存储层真正成为三高架构,但前面爽是爽了,接着…

面试官:你觉得HTTPS能防止重放攻击吗?

引言 先来一段面试情景再现~~ ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) 最后的结局自然就是 ​ 编辑切换为居中 添加图片注释,不超过 140 字(可选) OK,带着上面的疑问&#xf…

【SpringCloud负载均衡】【源码+图解】【四】负载均衡的实现

【SpringCloud负载均衡】【源码图解】【三】LoadBalancer的工作原理 目录4. 负载均衡4.1 提供者DiscoveryClient4.1.1 CompositeDiscoveryClient4.1.2 EurekaDiscoveryClient4.1.3 SimpleDiscoveryClient4.1.4 自定义DiscoveryClient4.2 过滤器Supplier4.2.1 CachingServiceIns…

Linux文本三剑客之grep命令

Linux文本三剑客之grep命令 1. grep 命令 介绍 grep 命令的基本语法格式和参数列表! 文本搜索工具,根据用户指定的”模式”对目标文本逐行进行匹配检查,打印匹配到的行。 模式:由正则表达式字符及文本字符所编写的过滤条件&am…