網站首頁 編程語言 正文
散點極坐標圖
import sys
import random
import math
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QScatterSeries, QPolarChart, QChart, QChartView, QValueAxis
class MyPolarWindow(QWidget):
def __init__(self, parent=None):
super(MyPolarWindow, self).__init__(parent)
# 創建圖表
polarChart = QPolarChart()
chartView = QChartView()
# 創建Series
scatterSeries = QScatterSeries()
# 添加數據
for value in range(1, 50):
scatterSeries.append(value, random.random()*10)
#scatterSeries.append(QPointF(value, random.random()*10))
scatterSeries.setMarkerSize(10)
scatterSeries.setColor(Qt.red)
scatterSeries.setBorderColor(Qt.yellow)
scatterSeries.setMarkerShape(QScatterSeries.MarkerShapeCircle) # 圓形標記
# scatterSeries.setMarkerShape(QScatterSeries.MarkerShapeRectangle) # 方形標記
scatterSeries.setName("星位圖")
polarChart.addSeries(scatterSeries)
polarChart.setContentsMargins(0, 0, 0, 0)
polarChart.setTheme(QChart.ChartThemeBlueCerulean)
# polarChart.createDefaultAxes()
# 設置 角向軸
angularAxis = QValueAxis()
angularAxis.setTickCount(9)
angularAxis.setLabelFormat("%.2f")
angularAxis.setShadesVisible(True)
angularAxis.setShadesBrush(QBrush(QColor(230, 230, 255)))
polarChart.addAxis(angularAxis, QPolarChart.PolarOrientationAngular)
angularAxis.setRange(0, 20) # 必須設置范圍,否則圖表無法顯示
# 設置 徑向軸
radialAxis = QValueAxis()
radialAxis.setTickCount(5)
radialAxis.setLabelFormat("%d")
polarChart.addAxis(radialAxis, QPolarChart.PolarOrientationRadial)
radialAxis.setRange(0, 10)
chartView.setChart(polarChart)
chartView.setFocusPolicy(Qt.NoFocus)
chartView.setRenderHint(QPainter.Antialiasing)
vbox = QVBoxLayout()
vbox.addWidget(chartView)
self.setLayout(vbox)
# polarChart.zoomOut()
# polarChart.zoomIn()
# polarChart.scroll(-1.0, 0)
# polarChart.scroll(1.0, 0)
# polarChart.scroll(0, 1.0)
# polarChart.scroll(0, -1.0)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyPolarWindow()
win.show()
sys.exit(app.exec_())
折線極坐標圖
import sys
import random
import math
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QLineSeries, QPolarChart, QChart, QChartView, QValueAxis
class MyPolarWindow(QWidget):
def __init__(self, parent=None):
super(MyPolarWindow, self).__init__(parent)
self.setWindowTitle("散點極坐標圖")
# 創建圖表
polarChart = QPolarChart()
chartView = QChartView()
# 創建Series
scatterSeries = QLineSeries()
# 添加數據
for value in range(1, 50):
scatterSeries.append(value, random.random()*10)
#scatterSeries.append(QPointF(value, random.random()*10))
scatterSeries.setName("折線極坐標圖")
polarChart.addSeries(scatterSeries)
polarChart.setContentsMargins(0, 0, 0, 0)
polarChart.setTheme(QChart.ChartThemeBlueCerulean)
# polarChart.createDefaultAxes()
# 設置 角向軸
angularAxis = QValueAxis()
angularAxis.setTickCount(9)
angularAxis.setLabelFormat("%.2f")
angularAxis.setShadesVisible(True)
angularAxis.setShadesBrush(QBrush(QColor(230, 230, 255)))
polarChart.addAxis(angularAxis, QPolarChart.PolarOrientationAngular)
angularAxis.setRange(0, 20) # 必須設置范圍,否則圖表無法顯示
# 設置 徑向軸
radialAxis = QValueAxis()
radialAxis.setTickCount(5)
radialAxis.setLabelFormat("%d")
polarChart.addAxis(radialAxis, QPolarChart.PolarOrientationRadial)
radialAxis.setRange(0, 10)
chartView.setChart(polarChart)
chartView.setFocusPolicy(Qt.NoFocus)
chartView.setRenderHint(QPainter.Antialiasing)
vbox = QVBoxLayout()
vbox.addWidget(chartView)
self.setLayout(vbox)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyPolarWindow()
win.show()
sys.exit(app.exec_())
曲線極坐標圖
import sys
import random
import math
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QSplineSeries, QPolarChart, QChart, QChartView, QValueAxis
class MyPolarWindow(QWidget):
def __init__(self, parent=None):
super(MyPolarWindow, self).__init__(parent)
self.setWindowTitle("散點極坐標圖")
# 創建圖表
polarChart = QPolarChart()
chartView = QChartView()
# 創建Series
scatterSeries = QSplineSeries()
# 添加數據
for value in range(1, 50):
scatterSeries.append(value, random.random()*10)
#scatterSeries.append(QPointF(value, random.random()*10))
scatterSeries.setName("曲線極坐標圖")
polarChart.addSeries(scatterSeries)
polarChart.setContentsMargins(0, 0, 0, 0)
polarChart.setTheme(QChart.ChartThemeBlueCerulean)
# polarChart.createDefaultAxes()
# 設置 角向軸
angularAxis = QValueAxis()
angularAxis.setTickCount(9)
angularAxis.setLabelFormat("%.2f")
angularAxis.setShadesVisible(True)
angularAxis.setShadesBrush(QBrush(QColor(230, 230, 255)))
polarChart.addAxis(angularAxis, QPolarChart.PolarOrientationAngular)
angularAxis.setRange(0, 20) # 必須設置范圍,否則圖表無法顯示
# 設置 徑向軸
radialAxis = QValueAxis()
radialAxis.setTickCount(5)
radialAxis.setLabelFormat("%d")
polarChart.addAxis(radialAxis, QPolarChart.PolarOrientationRadial)
radialAxis.setRange(0, 10)
chartView.setChart(polarChart)
chartView.setFocusPolicy(Qt.NoFocus)
chartView.setRenderHint(QPainter.Antialiasing)
vbox = QVBoxLayout()
vbox.addWidget(chartView)
self.setLayout(vbox)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyPolarWindow()
win.show()
sys.exit(app.exec_())
區域極坐標圖
import sys
import random
import math
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
from PyQt5.QtChart import QLineSeries, QAreaSeries, QPolarChart, QChart, QChartView, QValueAxis
class MyPolarWindow(QWidget):
def __init__(self, parent=None):
super(MyPolarWindow, self).__init__(parent)
self.setWindowTitle("區域極坐標圖")
# 創建圖表
polarChart = QPolarChart()
chartView = QChartView()
# 創建Series
series0 = QLineSeries()
series1 = QLineSeries()
# 添加數據
series0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) \
<< QPointF(12, 6) << QPointF(16, 7) << QPointF(18, 5)
series1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) \
<< QPointF(12, 3) << QPointF(16, 4) << QPointF(18, 3)
# 創建區域圖
area = QAreaSeries(series0, series1)
area.setName("折線極坐標圖")
polarChart.addSeries(area)
polarChart.setContentsMargins(0, 0, 0, 0)
polarChart.setTheme(QChart.ChartThemeBlueCerulean)
# polarChart.createDefaultAxes()
# 設置 角向軸
angularAxis = QValueAxis()
angularAxis.setTickCount(9)
angularAxis.setLabelFormat("%.2f")
angularAxis.setShadesVisible(True)
angularAxis.setShadesBrush(QBrush(QColor(230, 230, 255)))
polarChart.addAxis(angularAxis, QPolarChart.PolarOrientationAngular)
angularAxis.setRange(0, 50) # 必須設置范圍,否則圖表無法顯示
# 設置 徑向軸
radialAxis = QValueAxis()
radialAxis.setTickCount(5)
radialAxis.setLabelFormat("%d")
polarChart.addAxis(radialAxis, QPolarChart.PolarOrientationRadial)
radialAxis.setRange(0, 20)
chartView.setChart(polarChart)
chartView.setFocusPolicy(Qt.NoFocus)
chartView.setRenderHint(QPainter.Antialiasing)
vbox = QVBoxLayout()
vbox.addWidget(chartView)
self.setLayout(vbox)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyPolarWindow()
win.show()
sys.exit(app.exec_())
原文鏈接:https://blog.csdn.net/songyulong8888/article/details/128331500
- 上一篇:圖鄰接矩陣可視化解析_python
- 下一篇:C#實現虛擬鍵盤的實例詳解_C#教程
相關推薦
- 2022-04-28 pytorch中torch.topk()函數的快速理解_python
- 2023-01-19 python全局解釋器GIL鎖機制詳解_python
- 2022-08-10 python數組中的?k-diff?數對例題解析_python
- 2023-07-27 element plus tabel 全選 保持數據
- 2023-02-01 react-router?v6新特性總結示例詳解_React
- 2022-09-05 內置指令、自定義指令(詳細)、全局指令與局部指令
- 2022-08-26 Python?Pandas中loc和iloc函數的基本用法示例_python
- 2022-06-29 Oracle中PL/SQL的塊與表達式_oracle
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支