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

PyQt5+QtChart實(shí)現(xiàn)繪制區(qū)域圖

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

PyQt5 QtChart-區(qū)域圖

QAreaSeries用于創(chuàng)建區(qū)域圖數(shù)據(jù),傳入兩個(gè)QLineSeries對(duì)象。核心代碼:

series0 = QLineSeries()
series1 = QLineSeries()
area = QAreaSeries(series0, series1)

示例代碼

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


class MyAreaWindow(QWidget):
    def __init__(self, parent=None):
        super(MyAreaWindow, self).__init__(parent)
        self.setWindowTitle("區(qū)域圖")
        chart = QChart()
        chartView = QChartView()
        
        # 創(chuàng)建Series
        series0 = QLineSeries()
        series1 = QLineSeries()

        # 添加數(shù)據(jù)
        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)

        # 創(chuàng)建區(qū)域圖
        area = QAreaSeries(series0, series1)
        area.setName("面積")

        # 設(shè)置畫(huà)筆, pen用于畫(huà)區(qū)域的邊框
        pen = QPen(Qt.red)
        pen.setWidth(3)
        area.setPen(pen)

        # 設(shè)置畫(huà)刷,brush用于填充區(qū)域
        brush = QBrush(Qt.yellow)
        area.setBrush(brush)

        # gradient = QLinearGradient(QPointF(0, 0), QPointF(0, 1))
        # gradient.setColorAt(0.0, QColor(0x3cc63c))
        # gradient.setColorAt(1.0, QColor(0x16f626))
        # gradient.setCoordinateMode(QGradient.ObjectBoundingMode)
        # area.setBrush(gradient)

        chart.addSeries(area)
        chart.createDefaultAxes()
        chart.axisX().setRange(0, 20)
        chart.axisY().setRange(0, 10)

        chartView.setChart(chart)
        chartView.setRenderHint(QPainter.Antialiasing)

        vbox = QVBoxLayout()
        vbox.addWidget(chartView)
        self.setLayout(vbox)

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

效果圖

補(bǔ)充

當(dāng)然除了上面的方法,小編還為大家準(zhǔn)備了另一種可以實(shí)現(xiàn)區(qū)域圖繪制的方法,希望對(duì)大家有所幫助

import sys
from PyQt5.QtCore import Qt, QPointF
from PyQt5.QtGui import QPainter, QPen, QLinearGradient, QColor
from PyQt5.QtWidgets import QApplication, QMainWindow
from  PyQt5.QtChart import QChartView, QChart, QLineSeries, QAreaSeries
 
class DemoChartArea(QMainWindow):
    def __init__(self, parent=None):
        super(DemoChartArea, self).__init__(parent)   
        
         # 設(shè)置窗口標(biāo)題
        self.setWindowTitle('實(shí)戰(zhàn) Qt for Python: QChart面積圖演示')      
        # 設(shè)置窗口大小
        self.resize(480, 360)
        
        self.createChart()
        
    def createChart(self):
        
        #面積圖的上下兩條曲線
        #注意line0和line1的生存周期!!!!!
        self.line0 = QLineSeries()
        self.line1 = QLineSeries()
        
        self.line0 << QPointF(1, 5) << QPointF(3, 7) << QPointF(7, 6) << QPointF(9, 7) << QPointF(12, 6) << QPointF(16, 7) << QPointF(18, 5)
        self.line1 << QPointF(1, 3) << QPointF(3, 4) << QPointF(7, 3) << QPointF(8, 2) << QPointF(12, 3) << QPointF(16, 4) << QPointF(18, 3)
        
        #面積圖
        areaSeries = QAreaSeries(self.line0, self.line1)
        areaSeries.setName('蝙蝠俠') #Batman
        
        pen = QPen(QColor(0x059605))
        pen.setWidth(3)
        areaSeries.setPen(pen)
        
        #漸變?cè)O(shè)置
        gradient = QLinearGradient(QPointF(0,0), QPointF(0, 1))
        gradient.setColorAt(0.0, QColor(0x3cc63c))
        gradient.setColorAt(1.0, QColor(0x26f626))
        gradient.setCoordinateMode(QLinearGradient.ObjectBoundingMode)
        areaSeries.setBrush(gradient)
              
        #創(chuàng)建圖表
        chart = QChart()
        chart.addSeries(areaSeries)
        chart.setTitle('簡(jiǎn)單面積圖示例')
        chart.createDefaultAxes()
        chart.axes(Qt.Horizontal)[0].setRange(0, 20) #橫坐標(biāo)數(shù)值范圍
        chart.axes(Qt.Vertical)[0].setRange(0, 10) #縱坐標(biāo)數(shù)值范圍
         
        #圖表視圖
        chartView = QChartView(chart)
        chartView.setRenderHint(QPainter.Antialiasing)
        
        self.setCentralWidget(chartView)
      
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = DemoChartArea()
    window.show()
    sys.exit(app.exec())   

效果圖

到此這篇關(guān)于PyQt5+QtChart實(shí)現(xiàn)繪制區(qū)域圖的文章就介紹到這了,更多相關(guān)PyQt5 QtChart區(qū)域圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何在Python中隱藏和加密密碼示例詳解

    如何在Python中隱藏和加密密碼示例詳解

    Maskpass是一個(gè)類似getpass的Python庫(kù),但是具有一些高級(jí)功能,比如掩蔽和顯示,下面這篇文章主要給大家介紹了關(guān)于如何在Python中隱藏和加密密碼的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Python frozenset集合的實(shí)現(xiàn)

    Python frozenset集合的實(shí)現(xiàn)

    frozenset是Python中的不可變集合類型,本文主要介紹了Python frozenset集合的實(shí)現(xiàn), 文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Python制作數(shù)據(jù)導(dǎo)入導(dǎo)出工具

    Python制作數(shù)據(jù)導(dǎo)入導(dǎo)出工具

    正好最近在學(xué)習(xí)python,于是打算用python實(shí)現(xiàn)了數(shù)據(jù)導(dǎo)入導(dǎo)出工具,由于是新手,所以寫(xiě)的有些不完善的地方還請(qǐng)見(jiàn)諒
    2015-07-07
  • Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)

    Python自動(dòng)化操作Excel方法詳解(xlrd,xlwt)

    Excel是Windows環(huán)境下流行的、強(qiáng)大的電子表格應(yīng)用。本文將詳解用Python利用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel的方法詳細(xì),需要的可以參考一下
    2022-06-06
  • Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理詳細(xì)分析

    Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理詳細(xì)分析

    這篇文章主要介紹了Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-02-02
  • Python進(jìn)程間通信之共享內(nèi)存詳解

    Python進(jìn)程間通信之共享內(nèi)存詳解

    這篇文章主要為大家詳細(xì)介紹了Python進(jìn)程間通信之共享內(nèi)存的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 一文詳解Python中實(shí)現(xiàn)單例模式的幾種常見(jiàn)方式

    一文詳解Python中實(shí)現(xiàn)單例模式的幾種常見(jiàn)方式

    這篇文章主要為大家介紹了Python中實(shí)現(xiàn)單例模式的幾種常見(jiàn)方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 一文詳解Python中的Map,Filter和Reduce函數(shù)

    一文詳解Python中的Map,Filter和Reduce函數(shù)

    這篇文章主要介紹了一文詳解Python中的Map,Filter和Reduce函數(shù),本文重點(diǎn)介紹Python中的三個(gè)特殊函數(shù)Map,Filter和Reduce,以及如何使用它們進(jìn)行代碼編程
    2022-08-08
  • 淺談Python淺拷貝、深拷貝及引用機(jī)制

    淺談Python淺拷貝、深拷貝及引用機(jī)制

    本篇文章主要介紹了Python淺拷貝、深拷貝及引用機(jī)制,詳細(xì)的介紹了淺拷貝、深拷貝的介紹和區(qū)別,有興趣的可以了解一下。
    2016-12-12
  • python使用PyGame模塊播放聲音的方法

    python使用PyGame模塊播放聲音的方法

    這篇文章主要介紹了python使用PyGame模塊播放聲音的方法,實(shí)例分析了PyGame模塊的使用技巧,需要的朋友可以參考下
    2015-05-05

最新評(píng)論

南昌市| 武平县| 金门县| 萨迦县| 邵阳市| 灵寿县| 罗定市| 平定县| 昭觉县| 广丰县| 正定县| 昌图县| 平湖市| 永宁县| 鹿邑县| 郯城县| 唐海县| 白河县| 六安市| 普兰店市| 渝北区| 盐山县| 六盘水市| 呈贡县| 新野县| 保康县| 勃利县| 梅河口市| 平远县| 宜州市| 平舆县| 北辰区| 长宁县| 兖州市| 迁西县| 梁平县| 通渭县| 潞西市| 高邑县| 海盐县| 胶南市|