qchart 设置线颜色_实战PyQt5: 137-QChart图表之散点图

3bce5f113d8e820356fe09bcc5c2dd4a.png

散点图(scatter chart)将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。在QChart中,使用类QScatterSeries创建散点图。

QScatterSeries

QScatterSeries类在散点图中显示数据。散点数据在图表上显示为点的集合。对于每个点,指定两个值来确定其在水平轴和垂直轴上的位置。下面的代码演示如何创建一个基本的散点图:

series = QScatterSeries()series.append(0, 6)series.append(2, 4)...chart.addSeries(series)

QScatterSeries常用函数:

  • setBorderColor(self, color):设置用于绘制标记边框的颜色。
  • setMarkerShape(self, shape):设置用于渲染系列中的点的标记的形状。
  • setMarkerSize(self, size):设置用于渲染系列中的点的标记的尺寸。
  • borderColor(self):获得用于绘制标记边框的颜色。
  • brush(self):获得用于绘制散布系列标记的笔刷。
  • markerShape(self):获得用于渲染系列中的点的标记的形状。
  • markerSize(self):获得用于渲染系列中的点的标记的尺寸。

QScatterSeries提供两种散点图轮廓样式,由枚举量QScatterSeries.MakerShape确定:

  • QScatterSeries.MarkerShapeCircle (0): 标记是一个圆圈。这是默认值。
  • QScatterSeries.MarkerShapeRectangle (1): 标记是一个矩形。

QScatterSeries常用信号:

  • borderColorChanged(self, color):当线条(笔)颜色变为color时,发出此信号。
  • colorChanged(self,color):当填充(画刷)颜色变为color时,发出此信号。
  • markerShapeChanged(self, shape):当标记形状更改为shape时,将发出此信号。
  • markerSizeChanged(self, size):当标记尺寸更改为size时,将发出此信号。

创建散点图

使用QScatterSeries创建一个散点序列,并为散点设置轮廓的类型和宽度。然后使用append()函数或者流的方式添加要显示的数据,并为散点3创建了一个星星样式的标记轮廓,然后将散点图添加到图表上,为图表设置标题,最后在图表视图上显示出来。完整代码如下:

import sys,mathfrom PyQt5.QtCore import Qt, QPointFfrom PyQt5.QtGui import QPainter, QImage, QPainterPath, QColor, QBrushfrom PyQt5.QtWidgets import QApplication, QMainWindowfrom  PyQt5.QtChart import (QChartView, QChart, QScatterSeries, QLegendMarker, QLegend)class DemoChartScatter(QMainWindow):    def __init__(self, parent=None):        super(DemoChartScatter, self).__init__(parent)                    # 设置窗口标题        self.setWindowTitle('实战 Qt for Python: QChart散点图演示')              # 设置窗口大小        self.resize(480, 360)                self.createChart()            def createChart(self):                #散点图        scatterSeries0 = QScatterSeries()        scatterSeries0.setName('散点1')        scatterSeries0.setMarkerShape(QScatterSeries.MarkerShapeCircle)        scatterSeries0.setMarkerSize(15.0)                scatterSeries1 = QScatterSeries()        scatterSeries1.setName('散点2')        scatterSeries1.setMarkerShape(QScatterSeries.MarkerShapeRectangle)        scatterSeries1.setMarkerSize(20.0)                scatterSeries2 = QScatterSeries()        scatterSeries2.setName('散点3')        scatterSeries2.setMarkerShape(QScatterSeries.MarkerShapeRectangle)        scatterSeries2.setMarkerSize(30.0)                scatterSeries0.append(0, 6)        scatterSeries0.append(2, 4)        scatterSeries0.append(3, 8)        scatterSeries0.append(7, 4)        scatterSeries0.append(10, 5)                scatterSeries1 <

运行结果如下图:

5b68a6ded6854fa84174b830a29d2eb3.png

QChart散点图

本文知识点

  • 什么是散点图。
  • 使用QScatterSeries序列绘制散点图。
  • 为散点图定制标记样式。

前一篇:实战PyQt5: 136-QChart图表之柱状图


请多多关注,评论,收藏,点赞,和转发。

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

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

相关文章

C#下如何实现服务器 + 客户端的聊天程序

最近也在接触SOCKET编程&#xff0c;在当今这样一个网络时代&#xff0c;很多技术都以网络为中心在诞生&#xff0c;至少我认为是这样的&#xff0c;而SOCKET套接字接口&#xff0c;在实现网络通讯上处于关键地位&#xff0c;所以不会SOCKET是不行的。首先&#xff0c;本文主要…

部署gogs_可以更快地查阅 Gogs 文档了!

# 可以更快地查阅 Gogs 文档了&#xff01;作为程序员&#xff0c;如何高效、准确地查阅文档是日常开发工作中的必备技能。长期以来&#xff0c;优秀开源项目的官方文档都是部署在国外服务器上&#xff0c;从国内访问非常慢&#xff0c;而由于众所周知的限制&#xff0c;部分文…

c++ mmap写入速度_Linux系统编程_用mmap+数组的方式修改数据文件

正文开始前&#xff0c;先聊点非技术的东西&#xff0c;推荐2本生动有趣的书&#xff1a;《经济学原理 宏观经济学》&#xff0c;曼昆&#xff0c;豆瓣评分9.3&#xff0c;4945人评价《经济学原理 微观经济学》&#xff0c;曼昆&#xff0c;豆瓣评分9.6&#xff0c;1879人评价我…

太极软件qn的代码_多版本QQ内置qn、qx模块

软件名称&#xff1a;QQ版本号&#xff1a;1362、1392、1558版本&#xff1a;8.3.0、8.3.5、8.4.18安装包大小&#xff1a;81.93m、88.64m、100.93m简介&#xff1a;分别是830、835、8418这三个版本的QQ&#xff0c;只内置qn、qx模块&#xff0c;可以实现无需root&#xff0c;无…

asp.net 导入excel显示进度

这几天在做个导入excel的上传页面&#xff0c;由于数据量太大&#xff0c;要显示个进度条&#xff0c;本人不懂jquery&#xff0c;所以百度完再经过调整之后完成了&#xff0c;如果告诉别人只是为了显示个进度条而弄个多线程&#xff0c;还要根据session的机制模拟一个具有sess…

element form自定义校验_SpringBoot分组校验及自定义校验注解

前言在日常的开发中&#xff0c;参数校验是非常重要的一个环节&#xff0c;严格参数校验会减少很多出bug的概率&#xff0c;增加接口的安全性。在此之前写过一篇SpringBoot统一参数校验主要介绍了一些简单的校验方法。而这篇则是介绍一些进阶的校验方式。比如说&#xff1a;在某…

前端学习(526):等分布局

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>等分布局</title><style>.col1{backgro…

前端学习(527):等分布局第二种方案

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>等分布局</title><style>.parent{width…

c语言 feof_C语言 技能提升 系列文章(六)文件操作

C语言除了提供open()/ read()/ write()/ close() 这些基本的操作以外&#xff0c;还提供了下面几个非常有用的API。// 删除指定的文件int remove ( const char * filename ); // 重命名指定的文件int rename ( const char * oldname, const char * newname );// 以“wb”模式打…

谷歌(Google)是怎样对待离世的Google员工的?

日期&#xff1a;2012-8-10 来源&#xff1a;GBin1.com 如果提起谷歌的福利来说&#xff0c;大家肯定首先想到免费的食品和理发&#xff0c;及其独立的医疗服务&#xff0c;或者超棒的食堂和大厨等等。但是你是否知道谷歌是怎么对待死亡的Google员工的呢&#xff1f; 和Google…

前端学习(529):等分布局存在间距得实现得解决方案

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>等分布局</title><style>.parent{heigh…

easyUI 添加CheckBox选择到DataGrid

author YHC 这个教程向你展示如何放置一个checkbox 列到datagrid,这个复选框用户将可以选择 选中/取消选中 datagrid行数据. 查看 Demo 添加一个checkbox 列我们仅仅需要添加一个列的checkbox 属性设置它为true,代码看上去就像这些: <table id"tt" title"Che…

前端学习(530):等分布局得间距方案第二种方式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>等分布局</title><style>.parent{width…