美文网首页
数据可视化 第5章

数据可视化 第5章

作者: 技术喵 | 来源:发表于2019-07-26 14:23 被阅读0次

    第5章 添加图表视图

    我们使用QChartView来把数据图表化
    1.追加chart_widget.py,窗口左侧显示表格数据,右侧准备显示图表

    from PySide2.QtGui import QPainter
    from PySide2.QtWidgets import (QWidget, QHeaderView, QHBoxLayout, QTableView, QSizePolicy)
    from PySide2.QtCharts import QtCharts
    
    from table_model import *
    
    class Widget(QWidget):
        def __init__(self, data):
            QWidget.__init__(self)
    
            #获取model
            self.model = CustomTableModel(data)
    
            #创建QTableView
            self.table_view = QTableView()
            self.table_view.setModel(self.model)
    
            #QTableView 表头自适应以及拉伸
            self.horizontal_header = self.table_view.horizontalHeader()
            self.vertical_header = self.table_view.verticalHeader()
            self.horizontal_header.setSectionResizeMode(QHeaderView.ResizeToContents)
            self.vertical_header.setSectionResizeMode(QHeaderView.ResizeToContents)
            self.horizontal_header.setStretchLastSection(True)
    
            # 创建 QChart
            self.chart = QtCharts.QChart()
            # 设置全动画模式
            self.chart.setAnimationOptions(QtCharts.QChart.AllAnimations)
    
            # 创建 QChartView
            self.chart_view = QtCharts.QChartView(self.chart)
            # 设置抗锯齿
            self.chart_view.setRenderHint(QPainter.Antialiasing)
    
            # 窗口布局
            self.main_layout = QHBoxLayout()
            size = QSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
    
            ## 左侧布局
            size.setHorizontalStretch(1)
            self.table_view.setSizePolicy(size)
            self.main_layout.addWidget(self.table_view)
    
            ## 右侧布局
            size.setHorizontalStretch(4)
            self.chart_view.setSizePolicy(size)
            self.main_layout.addWidget(self.chart_view)
    
            # 窗口添加布局
            self.setLayout(self.main_layout)
    
    

    2.运行效果


    1564121462032.png

    相关文章

      网友评论

          本文标题:数据可视化 第5章

          本文链接:https://www.haomeiwen.com/subject/lxorrctx.html