<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
PyQt5 QtChart-散點圖
QScatterSeries類將資料以散點圖顯示
import sys import random from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtChart import QScatterSeries, QChart, QChartView, QPolarChart class MyScatterWindow(QWidget): def __init__(self, parent=None): super(MyScatterWindow, self).__init__(parent) self.resize(800, 600) chart = QChart() chartView = QChartView() print(PYQT_VERSION_STR) scatter = QScatterSeries() for value in range(1, 500): scatter.append(value, random.random()*10) #scatter.append(QPointF(value, random.random()*10)) scatter.setName("散點圖") scatter.setMarkerSize(8) # 標記大小 # scatter.setMarkerShape(QScatterSeries.MarkerShapeRectangle) #方形標記 scatter.setMarkerShape(QScatterSeries.MarkerShapeCircle) # 圓形標記 pen = QPen() pen.setColor(Qt.red) pen.setWidth(2) scatter.setPen(pen) chart.addSeries(scatter) chart.createDefaultAxes() chartView.setChart(chart) vbox = QVBoxLayout() vbox.addWidget(chartView) self.setLayout(vbox) if __name__ == "__main__": app = QApplication(sys.argv) win = MyScatterWindow() win.show() sys.exit(app.exec_())
效果圖
補充
除了散點圖,PytQt5和QtChart還可以繪製其他的圖表。下面是小編為大家整理的其他圖表繪製的範例程式碼,需要的可以參考一下
PyQt5 QtChart-餅狀圖
QPieSeries類將資料以餅狀圖顯示
import sys from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qt from PyQt5.QtChart import QPieSeries, QPieLegendMarker, QChart, QChartView class MyPieWindow(QWidget): def __init__(self, parent=None): super(MyPieWindow, self).__init__(parent) chart = QChart() chartView = QChartView() pieSeries = QPieSeries() slice0 = pieSeries.append("鐵:%10", 1) pieSeries.append("鋁:%20", 2) pieSeries.append("銅:%70", 7) pieSeries.setLabelsVisible() pieSeries.setPieSize(0.6) slice0.setExploded() # 外伸 slice0.setColor(QColor(255, 0, 150)) chart.setTitle("餅狀圖") chart.addSeries(pieSeries) chartView.setChart(chart) chartView.setRenderHint(QPainter.Antialiasing) vbox = QVBoxLayout() vbox.addWidget(chartView) self.setLayout(vbox) if __name__ == "__main__": app = QApplication(sys.argv) win = MyPieWindow() win.show() sys.exit(app.exec_())
PyQt5 QtChart-QLineSeries 折線圖
QLineSeries
QLineSeries類將資料序列顯示為折線圖,其核心程式碼:
lineSeries = QLineSeries()
lineSeries.append(1, 3)
lineSeries.append(5, 8)
…
chart.addSeries(lineSeries)
常用方法:
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_())
到此這篇關於PyQt5+QtChart繪製散點圖的文章就介紹到這了,更多相關PyQt5 QtChart散點圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45