最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PyQt5+QtChart繪制散點圖

 更新時間:2022年12月15日 14:57:16   作者:SongYuLong的博客  
QChart是一個QGraphicScene中可以顯示的QGraphicsWidget。本文將利用QtChart實現(xiàn)繪制散點圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

PyQt5 QtChart-散點圖

QScatterSeries類將數(shù)據(jù)以散點圖顯示

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)   # 標(biāo)記大小
        # scatter.setMarkerShape(QScatterSeries.MarkerShapeRectangle) #方形標(biāo)記
        scatter.setMarkerShape(QScatterSeries.MarkerShapeCircle) # 圓形標(biāo)記
        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類將數(shù)據(jù)以餅狀圖顯示

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類將數(shù)據(jù)序列顯示為折線圖,其核心代碼:

lineSeries = QLineSeries()
lineSeries.append(1, 3)
lineSeries.append(5, 8)

chart.addSeries(lineSeries)

常用方法:

  • setPointsVisible(True) :設(shè)置數(shù)據(jù)點顯示狀態(tài)
  • setPointLabelsVisible(True):設(shè)置數(shù)據(jù)點標(biāo)簽顯示狀態(tài)
  • setPointLabelsFormat(“(@xPoint, @yPoint)”):設(shè)置數(shù)據(jù)點標(biāo)簽格式
  • setPointLabelsFont(QFont(None, 8)) :設(shè)置數(shù)據(jù)點標(biāo)簽字體
  • setPointLabelsColor(QColor(255, 0,0)) :設(shè)置數(shù)據(jù)點標(biāo)簽顏色
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("折線圖")

        # 創(chuàng)建圖表 并設(shè)置相關(guān)參數(shù)
        chart = QChart()
        chart.setTitle("隨機折線圖")
        chart.setAnimationOptions(QChart.SeriesAnimations)
        chart.setAnimationDuration(1000)
        chart.setAnimationEasingCurve(QEasingCurve.InOutCirc)
        # chart.setTheme(QChart.ChartThemeBlueCerulean)
        chart.legend().show()


        # 創(chuàng)建折線數(shù)據(jù)序列
        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)

        # 創(chuàng)建軸坐標(biāo)
        # chart.createDefaultAxes()  # 創(chuàng)建默認(rèn)軸    
        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_())

到此這篇關(guān)于PyQt5+QtChart繪制散點圖的文章就介紹到這了,更多相關(guān)PyQt5 QtChart散點圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家

相關(guān)文章

  • Python3.4學(xué)習(xí)筆記之常用操作符,條件分支和循環(huán)用法示例

    Python3.4學(xué)習(xí)筆記之常用操作符,條件分支和循環(huán)用法示例

    這篇文章主要介紹了Python3.4常用操作符,條件分支和循環(huán)用法,結(jié)合實例形式較為詳細(xì)的分析了Python3.4常見的數(shù)學(xué)運算、邏輯運算操作符,條件分支語句,循環(huán)語句等功能與基本用法,需要的朋友可以參考下
    2019-03-03
  • Python3安裝Pymongo詳細(xì)步驟

    Python3安裝Pymongo詳細(xì)步驟

    本篇文章主要介紹了Python3安裝Pymongo詳細(xì)步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • python使用RNN實現(xiàn)文本分類

    python使用RNN實現(xiàn)文本分類

    這篇文章主要為大家詳細(xì)介紹了python使用RNN進(jìn)行文本分類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python一行命令部署http?ftp服務(wù)

    Python一行命令部署http?ftp服務(wù)

    這篇文章主要介紹了Python一行命令部署http?ftp服務(wù)實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 使用python的pexpect模塊,實現(xiàn)遠(yuǎn)程免密登錄的示例

    使用python的pexpect模塊,實現(xiàn)遠(yuǎn)程免密登錄的示例

    今天小編就為大家分享一篇使用python的pexpect模塊,實現(xiàn)遠(yuǎn)程免密登錄的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解

    python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解

    這篇文章主要介紹了python實現(xiàn)發(fā)送form-data數(shù)據(jù)的方法,結(jié)合實例形式分析了Python發(fā)送form-data數(shù)據(jù)的相關(guān)操作步驟、實現(xiàn)方法與注意事項,需要的朋友可以參考下
    2019-09-09
  • python3實現(xiàn)Dijkstra算法最短路徑的實現(xiàn)

    python3實現(xiàn)Dijkstra算法最短路徑的實現(xiàn)

    這篇文章主要介紹了python3實現(xiàn)Dijkstra算法最短路徑的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 安裝完P(guān)ython包然后找不到模塊的解決步驟

    安裝完P(guān)ython包然后找不到模塊的解決步驟

    今天小編就為大家分享一篇安裝完P(guān)ython包然后找不到模塊的解決步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 一文搞懂關(guān)于?sys.argv?的詳解

    一文搞懂關(guān)于?sys.argv?的詳解

    sys.argv?其實就是一個列表,里邊需要用戶傳入的參數(shù),關(guān)鍵就是要明白這參數(shù)是從程序外部輸入的,而非代碼本身的什么地方,要想看到它的效果就應(yīng)該將程序保存了,從外部來運行程序并給出參數(shù),通過本文學(xué)習(xí)你將明白?sys.argv很多知識,感興趣的朋友一起看看吧
    2023-01-01
  • Python和Pycharm 環(huán)境部署詳細(xì)步驟

    Python和Pycharm 環(huán)境部署詳細(xì)步驟

    Python環(huán)境搭建過程很多朋友都操作過,本次我們將向大家介紹Python和Pycharm 環(huán)境部署的流程,文章通過圖文的形式給大家展示一目了然一看就懂,需要的朋友參考下吧
    2021-06-06

最新評論

南部县| 中江县| 曲阜市| 镇远县| 金堂县| 静安区| 阜城县| 定陶县| 岚皋县| 资阳市| 乌兰浩特市| 密云县| 锡林郭勒盟| 连州市| 台前县| 金门县| 南江县| 汤原县| 郧西县| 彝良县| 柳州市| 禹城市| 耿马| 榆中县| 广州市| 裕民县| 承德市| 富民县| 南皮县| 浙江省| 浮山县| 碌曲县| 南丹县| 蒙自县| 晋江市| 青田县| 仁怀市| 卢龙县| 华坪县| 农安县| 镇沅|