diff --git a/environment.yml b/environment.yml
index 176cbb8..95ffcea 100644
--- a/environment.yml
+++ b/environment.yml
@@ -144,7 +144,6 @@ dependencies:
- pyyaml==6.0.1
- setuptools-scm==8.0.4
- six==1.16.0
- - statapp==0.10.2
- sympy==1.12
- tomli==2.0.1
- tomlkit==0.12.1
diff --git a/statapp/distribution_window.py b/statapp/distribution_window.py
new file mode 100644
index 0000000..b9f60b9
--- /dev/null
+++ b/statapp/distribution_window.py
@@ -0,0 +1,86 @@
+import numpy as np
+from PySide2.QtWidgets import QDialog, QVBoxLayout, QComboBox
+
+from statapp.polynoms.polynom_window import MplCanvas
+from statapp.utils import addIcon
+from statapp.models.utils import yxHeader
+
+
+class DistributionWindow(QDialog):
+ def __init__(self, title: str, data: np.ndarray):
+ super().__init__()
+ self.setWindowTitle(title)
+ addIcon(self)
+
+ self.layout = QVBoxLayout()
+ self.setLayout(self.layout)
+
+ self.data = data
+ self.values = yxHeader(data.shape[1])
+
+ self.comboBox = QComboBox()
+ self.comboBox.addItems(self.values)
+ self.comboBox.currentIndexChanged.connect(self.onChange)
+ self.sc = self.getSc(data[:, 0])
+ self.layout.addWidget(self.comboBox)
+
+ self.l = QVBoxLayout()
+ self.l.addWidget(self.sc)
+ self.layout.addLayout(self.l)
+
+
+ def onChange(self):
+ while ((child := self.l.takeAt(0)) != None):
+ child.widget().deleteLater()
+ self.sc = self.getSc(self.data[:, self.comboBox.currentIndex()])
+ self.l.addWidget(self.sc)
+
+
+class UniformDistributionWindow(DistributionWindow):
+ def __init__(self, data: np.array):
+ super().__init__("Равномерное распределение", data)
+
+ def getSc(self, points):
+ sc = MplCanvas(self, width=5, height=4, dpi=100)
+ points = np.sort(points)
+ points = np.array(
+ [points[0]] +
+ [pt for pt, next_pt in zip(points[:-1], points[1:]) if pt != next_pt]
+ )
+ differences = np.diff(points)
+ inverseDifferences = 1 / differences
+ for i, (start, end) in enumerate(zip(points[:-1], points[1:])):
+ sc.axes.hlines(inverseDifferences[i], start, end, colors='r', linestyles='solid')
+ return sc
+
+
+def normalDensity(x, mu, sigmaSquared):
+ return 1 / np.sqrt(2 * np.pi * sigmaSquared) * np.exp(-(x - mu) ** 2 / (2 * sigmaSquared))
+
+
+class NormalDistributionWindow(DistributionWindow):
+ def __init__(self, data: np.array):
+ super().__init__("Нормальное распределение", data)
+
+ def getSc(self, points):
+ sc = MplCanvas(self, width=5, height=4, dpi=100)
+ points = np.sort(points)
+ mu = np.mean(points)
+ sigmaSquared = np.var(points)
+ yValues = normalDensity(points, mu, sigmaSquared)
+ sc.axes.plot(points, yValues)
+ return sc
+
+
+class ExponentialDistributionWindow(DistributionWindow):
+ def __init__(self, data: np.array):
+ super().__init__("Экспоненциальное распределение", data)
+
+ def getSc(self, points):
+ sc = MplCanvas(self, width=5, height=4, dpi=100)
+ points = np.sort(points)
+ mu = np.mean(points)
+ lambdaParam = 1 / mu
+ yValues = lambdaParam * np.exp(-lambdaParam * points)
+ sc.axes.plot(points, yValues)
+ return sc
diff --git a/statapp/main_window.py b/statapp/main_window.py
index 594484b..0065b44 100644
--- a/statapp/main_window.py
+++ b/statapp/main_window.py
@@ -24,6 +24,8 @@ from PySide2.QtWidgets import QMainWindow, QMessageBox, QAction, QMenu
from statapp.calculations import generateXValues, generateYValues
from statapp.constants import NUMBERS_PRECISION
+from statapp.distribution_window import NormalDistributionWindow, UniformDistributionWindow, \
+ ExponentialDistributionWindow
from statapp.generate_factor_window import GenerateFactorWindow
from statapp.polynoms.linear_polynom_window import LinearPolynomWindow
from statapp.mathtex_header_view import MathTexHeaderView
@@ -257,6 +259,30 @@ class MainWindow(QMainWindow):
except Exception as error:
onError(error)
+ @Slot()
+ def on_uniformDistributionAction_triggered(self):
+ try:
+ dw = UniformDistributionWindow(self.model.getData())
+ dw.exec()
+ except Exception as error:
+ onError(error)
+
+ @Slot()
+ def on_normalDistributionAction_triggered(self):
+ try:
+ dw = NormalDistributionWindow(self.model.getData())
+ dw.exec()
+ except Exception as error:
+ onError(error)
+
+ @Slot()
+ def on_exponentialDistributionAction_triggered(self):
+ try:
+ dw = ExponentialDistributionWindow(self.model.getData())
+ dw.exec()
+ except Exception as error:
+ onError(error)
+
def closeEvent(self, event):
if self.isDataChanged:
file = ''
diff --git a/statapp/polynoms/polynom_window.py b/statapp/polynoms/polynom_window.py
index d8da55d..e607088 100644
--- a/statapp/polynoms/polynom_window.py
+++ b/statapp/polynoms/polynom_window.py
@@ -74,10 +74,6 @@ class PolynomWindow(QDialog):
realY = predictionResult[:, 0]
calculatedY = predictionResult[:, 1]
- print(xAxes)
- print(realY)
- print(calculatedY)
-
sc.axes.scatter(xAxes, realY)
# xnew = np.linspace(xAxes.min(), xAxes.max(), 300)
diff --git a/statapp/polynoms/transform_polynom_window.py b/statapp/polynoms/transform_polynom_window.py
index 16fa408..38b6f46 100644
--- a/statapp/polynoms/transform_polynom_window.py
+++ b/statapp/polynoms/transform_polynom_window.py
@@ -87,7 +87,6 @@ class TransformPolynomWindow(QDialog):
def on_data_changed(self):
data = np.copy(self.data)
- print(len(data[0:]))
for i in range(len(data[0:])):
for j in range(1, len(data[i])):
tr = self.model.data(self.model.createIndex(j, 0), Qt.DisplayRole)
diff --git a/statapp/ui/generate_factor_window.ui b/statapp/ui/generate_factor_window.ui
index 75155b9..7a62f6b 100644
--- a/statapp/ui/generate_factor_window.ui
+++ b/statapp/ui/generate_factor_window.ui
@@ -101,15 +101,6 @@
12
-
- false
-
-
-
-
-
-
-
diff --git a/statapp/ui/main_window.ui b/statapp/ui/main_window.ui
index 0aa4851..a3a3511 100644
--- a/statapp/ui/main_window.ui
+++ b/statapp/ui/main_window.ui
@@ -40,7 +40,7 @@
0
0
800
- 22
+ 29
+
+
@@ -147,6 +156,21 @@
Использование
+
+
+ Равномерное
+
+
+
+
+ Нормальное
+
+
+
+
+ Экспоненциальное
+
+
diff --git a/statapp/ui/ui_generate_factor_window.py b/statapp/ui/ui_generate_factor_window.py
index cc6a141..979e514 100644
--- a/statapp/ui/ui_generate_factor_window.py
+++ b/statapp/ui/ui_generate_factor_window.py
@@ -1,111 +1,78 @@
# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2024 Maxim Slipenko, Eugene Lazurenko.
-#
-# This file is part of Statapp
-# (see https://github.com/shizand/statapp).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
+# Form implementation generated from reading ui file 'statapp/ui/generate_factor_window.ui',
+# licensing of 'statapp/ui/generate_factor_window.ui' applies.
+#
+# Created: Sun Feb 11 18:12:25 2024
+# by: pyside2-uic running on PySide2 5.13.2
+#
+# WARNING! All changes made in this file will be lost!
-################################################################################
-## Form generated from reading UI file 'generate_factor_window.ui'
-##
-## Created by: Qt User Interface Compiler version 5.15.2
-##
-## WARNING! All changes made in this file will be lost when recompiling UI file!
-################################################################################
-
-from PySide2.QtCore import *
-from PySide2.QtGui import *
-from PySide2.QtWidgets import *
-
+from PySide2 import QtCore, QtGui, QtWidgets
class Ui_GenerateFactorWindow(object):
def setupUi(self, GenerateFactorWindow):
- if not GenerateFactorWindow.objectName():
- GenerateFactorWindow.setObjectName(u"GenerateFactorWindow")
+ GenerateFactorWindow.setObjectName("GenerateFactorWindow")
GenerateFactorWindow.resize(503, 193)
- self.gridLayout_2 = QGridLayout(GenerateFactorWindow)
- self.gridLayout_2.setObjectName(u"gridLayout_2")
- self.gridLayout = QGridLayout()
- self.gridLayout.setObjectName(u"gridLayout")
- self.label = QLabel(GenerateFactorWindow)
- self.label.setObjectName(u"label")
- font = QFont()
+ self.gridLayout_2 = QtWidgets.QGridLayout(GenerateFactorWindow)
+ self.gridLayout_2.setObjectName("gridLayout_2")
+ self.gridLayout = QtWidgets.QGridLayout()
+ self.gridLayout.setObjectName("gridLayout")
+ self.label = QtWidgets.QLabel(GenerateFactorWindow)
+ font = QtGui.QFont()
font.setPointSize(12)
self.label.setFont(font)
-
+ self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
-
- self.label_3 = QLabel(GenerateFactorWindow)
- self.label_3.setObjectName(u"label_3")
+ self.label_3 = QtWidgets.QLabel(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.label_3.setFont(font)
-
+ self.label_3.setObjectName("label_3")
self.gridLayout.addWidget(self.label_3, 2, 0, 1, 1)
-
- self.generatePushButton = QPushButton(GenerateFactorWindow)
- self.generatePushButton.setObjectName(u"generatePushButton")
+ self.generatePushButton = QtWidgets.QPushButton(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.generatePushButton.setFont(font)
-
+ self.generatePushButton.setObjectName("generatePushButton")
self.gridLayout.addWidget(self.generatePushButton, 3, 0, 1, 2)
-
- self.label_2 = QLabel(GenerateFactorWindow)
- self.label_2.setObjectName(u"label_2")
+ self.label_2 = QtWidgets.QLabel(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.label_2.setFont(font)
-
+ self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 1, 0, 1, 1)
-
- self.matSpinBox = QDoubleSpinBox(GenerateFactorWindow)
- self.matSpinBox.setObjectName(u"matSpinBox")
+ self.matSpinBox = QtWidgets.QDoubleSpinBox(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.matSpinBox.setFont(font)
self.matSpinBox.setDecimals(5)
- self.matSpinBox.setMaximum(1000000.000000000000000)
-
+ self.matSpinBox.setMaximum(1000000.0)
+ self.matSpinBox.setObjectName("matSpinBox")
self.gridLayout.addWidget(self.matSpinBox, 1, 1, 1, 1)
-
- self.deviationSpinBox = QDoubleSpinBox(GenerateFactorWindow)
- self.deviationSpinBox.setObjectName(u"deviationSpinBox")
+ self.deviationSpinBox = QtWidgets.QDoubleSpinBox(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.deviationSpinBox.setFont(font)
self.deviationSpinBox.setDecimals(5)
- self.deviationSpinBox.setMaximum(1000000.000000000000000)
-
+ self.deviationSpinBox.setMaximum(1000000.0)
+ self.deviationSpinBox.setObjectName("deviationSpinBox")
self.gridLayout.addWidget(self.deviationSpinBox, 2, 1, 1, 1)
-
- self.typeComboBox = QComboBox(GenerateFactorWindow)
- self.typeComboBox.setObjectName(u"typeComboBox")
+ self.typeComboBox = QtWidgets.QComboBox(GenerateFactorWindow)
+ font = QtGui.QFont()
+ font.setPointSize(12)
self.typeComboBox.setFont(font)
- self.typeComboBox.setEditable(False)
-
+ self.typeComboBox.setObjectName("typeComboBox")
self.gridLayout.addWidget(self.typeComboBox, 0, 1, 1, 1)
-
-
self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
-
self.retranslateUi(GenerateFactorWindow)
-
- QMetaObject.connectSlotsByName(GenerateFactorWindow)
- # setupUi
+ QtCore.QMetaObject.connectSlotsByName(GenerateFactorWindow)
def retranslateUi(self, GenerateFactorWindow):
- GenerateFactorWindow.setWindowTitle(QCoreApplication.translate("GenerateFactorWindow", u"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432", None))
- self.label.setText(QCoreApplication.translate("GenerateFactorWindow", u"\u0422\u0438\u043f \u0441\u0432\u044f\u0437\u0438", None))
- self.label_3.setText(QCoreApplication.translate("GenerateFactorWindow", u"\u0421\u0440\u0435\u0434\u043d\u0435\u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435", None))
- self.generatePushButton.setText(QCoreApplication.translate("GenerateFactorWindow", u"\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c", None))
- self.label_2.setText(QCoreApplication.translate("GenerateFactorWindow", u"\u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435", None))
- self.typeComboBox.setCurrentText("")
- self.typeComboBox.setPlaceholderText("")
- # retranslateUi
+ GenerateFactorWindow.setWindowTitle(QtWidgets.QApplication.translate("GenerateFactorWindow", "Генерация факторов", None, -1))
+ self.label.setText(QtWidgets.QApplication.translate("GenerateFactorWindow", "Тип связи", None, -1))
+ self.label_3.setText(QtWidgets.QApplication.translate("GenerateFactorWindow", "Среднеквадратичное отклонение", None, -1))
+ self.generatePushButton.setText(QtWidgets.QApplication.translate("GenerateFactorWindow", "Сгенерировать", None, -1))
+ self.label_2.setText(QtWidgets.QApplication.translate("GenerateFactorWindow", "Математическое ожидание", None, -1))
+
diff --git a/statapp/ui/ui_main_window.py b/statapp/ui/ui_main_window.py
index 853a830..ba00db3 100644
--- a/statapp/ui/ui_main_window.py
+++ b/statapp/ui/ui_main_window.py
@@ -1,107 +1,81 @@
# -*- coding: utf-8 -*-
-#
-# Copyright (c) 2024 Maxim Slipenko, Eugene Lazurenko.
-#
-# This file is part of Statapp
-# (see https://github.com/shizand/statapp).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-#
+# Form implementation generated from reading ui file 'statapp/ui/main_window.ui',
+# licensing of 'statapp/ui/main_window.ui' applies.
+#
+# Created: Sun Feb 11 18:12:22 2024
+# by: pyside2-uic running on PySide2 5.13.2
+#
+# WARNING! All changes made in this file will be lost!
-################################################################################
-## Form generated from reading UI file 'main_window.ui'
-##
-## Created by: Qt User Interface Compiler version 5.15.2
-##
-## WARNING! All changes made in this file will be lost when recompiling UI file!
-################################################################################
-
-from PySide2.QtCore import *
-from PySide2.QtGui import *
-from PySide2.QtWidgets import *
-
+from PySide2 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
- if not MainWindow.objectName():
- MainWindow.setObjectName(u"MainWindow")
+ MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
- self.aboutmenuaction = QAction(MainWindow)
- self.aboutmenuaction.setObjectName(u"aboutmenuaction")
- self.generateYaction = QAction(MainWindow)
- self.generateYaction.setObjectName(u"generateYaction")
- self.generateXaction = QAction(MainWindow)
- self.generateXaction.setObjectName(u"generateXaction")
- self.openfileaction = QAction(MainWindow)
- self.openfileaction.setObjectName(u"openfileaction")
- self.savefileaction = QAction(MainWindow)
- self.savefileaction.setObjectName(u"savefileaction")
- self.closefileaction = QAction(MainWindow)
- self.closefileaction.setObjectName(u"closefileaction")
- self.varianceAnalysisAction = QAction(MainWindow)
- self.varianceAnalysisAction.setObjectName(u"varianceAnalysisAction")
- self.correlationAnalisisAction = QAction(MainWindow)
- self.correlationAnalisisAction.setObjectName(u"correlationAnalisisAction")
- self.linearPolynomAction = QAction(MainWindow)
- self.linearPolynomAction.setObjectName(u"linearPolynomAction")
- self.squaredPolynomAction = QAction(MainWindow)
- self.squaredPolynomAction.setObjectName(u"squaredPolynomAction")
- self.transformPolynomAction = QAction(MainWindow)
- self.transformPolynomAction.setObjectName(u"transformPolynomAction")
- self.usageaction = QAction(MainWindow)
- self.usageaction.setObjectName(u"usageaction")
- self.centralwidget = QWidget(MainWindow)
- self.centralwidget.setObjectName(u"centralwidget")
- self.gridLayout = QGridLayout(self.centralwidget)
- self.gridLayout.setObjectName(u"gridLayout")
- self.label = QLabel(self.centralwidget)
- self.label.setObjectName(u"label")
- self.label.setAlignment(Qt.AlignCenter)
-
+ self.centralwidget = QtWidgets.QWidget(MainWindow)
+ self.centralwidget.setObjectName("centralwidget")
+ self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
+ self.gridLayout.setObjectName("gridLayout")
+ self.label = QtWidgets.QLabel(self.centralwidget)
+ self.label.setAlignment(QtCore.Qt.AlignCenter)
+ self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
-
- self.tableView = QTableView(self.centralwidget)
- self.tableView.setObjectName(u"tableView")
+ self.tableView = QtWidgets.QTableView(self.centralwidget)
+ self.tableView.setObjectName("tableView")
self.tableView.verticalHeader().setVisible(False)
-
self.gridLayout.addWidget(self.tableView, 1, 0, 1, 1)
-
MainWindow.setCentralWidget(self.centralwidget)
- self.menubar = QMenuBar(MainWindow)
- self.menubar.setObjectName(u"menubar")
- self.menubar.setGeometry(QRect(0, 0, 800, 22))
- self.filemenu = QMenu(self.menubar)
- self.filemenu.setObjectName(u"filemenu")
- self.generatemenu = QMenu(self.menubar)
- self.generatemenu.setObjectName(u"generatemenu")
- self.analyzemenu = QMenu(self.menubar)
- self.analyzemenu.setObjectName(u"analyzemenu")
- self.modelmenu = QMenu(self.menubar)
- self.modelmenu.setObjectName(u"modelmenu")
- self.helpmenu = QMenu(self.menubar)
- self.helpmenu.setObjectName(u"helpmenu")
+ self.menubar = QtWidgets.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 29))
+ self.menubar.setObjectName("menubar")
+ self.filemenu = QtWidgets.QMenu(self.menubar)
+ self.filemenu.setObjectName("filemenu")
+ self.generatemenu = QtWidgets.QMenu(self.menubar)
+ self.generatemenu.setObjectName("generatemenu")
+ self.analyzemenu = QtWidgets.QMenu(self.menubar)
+ self.analyzemenu.setObjectName("analyzemenu")
+ self.modelmenu = QtWidgets.QMenu(self.menubar)
+ self.modelmenu.setObjectName("modelmenu")
+ self.helpmenu = QtWidgets.QMenu(self.menubar)
+ self.helpmenu.setObjectName("helpmenu")
+ self.menu = QtWidgets.QMenu(self.menubar)
+ self.menu.setObjectName("menu")
MainWindow.setMenuBar(self.menubar)
- self.statusbar = QStatusBar(MainWindow)
- self.statusbar.setObjectName(u"statusbar")
+ self.statusbar = QtWidgets.QStatusBar(MainWindow)
+ self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
-
- self.menubar.addAction(self.filemenu.menuAction())
- self.menubar.addAction(self.generatemenu.menuAction())
- self.menubar.addAction(self.analyzemenu.menuAction())
- self.menubar.addAction(self.modelmenu.menuAction())
- self.menubar.addAction(self.helpmenu.menuAction())
+ self.aboutmenuaction = QtWidgets.QAction(MainWindow)
+ self.aboutmenuaction.setObjectName("aboutmenuaction")
+ self.generateYaction = QtWidgets.QAction(MainWindow)
+ self.generateYaction.setObjectName("generateYaction")
+ self.generateXaction = QtWidgets.QAction(MainWindow)
+ self.generateXaction.setObjectName("generateXaction")
+ self.openfileaction = QtWidgets.QAction(MainWindow)
+ self.openfileaction.setObjectName("openfileaction")
+ self.savefileaction = QtWidgets.QAction(MainWindow)
+ self.savefileaction.setObjectName("savefileaction")
+ self.closefileaction = QtWidgets.QAction(MainWindow)
+ self.closefileaction.setObjectName("closefileaction")
+ self.varianceAnalysisAction = QtWidgets.QAction(MainWindow)
+ self.varianceAnalysisAction.setObjectName("varianceAnalysisAction")
+ self.correlationAnalisisAction = QtWidgets.QAction(MainWindow)
+ self.correlationAnalisisAction.setObjectName("correlationAnalisisAction")
+ self.linearPolynomAction = QtWidgets.QAction(MainWindow)
+ self.linearPolynomAction.setObjectName("linearPolynomAction")
+ self.squaredPolynomAction = QtWidgets.QAction(MainWindow)
+ self.squaredPolynomAction.setObjectName("squaredPolynomAction")
+ self.transformPolynomAction = QtWidgets.QAction(MainWindow)
+ self.transformPolynomAction.setObjectName("transformPolynomAction")
+ self.usageaction = QtWidgets.QAction(MainWindow)
+ self.usageaction.setObjectName("usageaction")
+ self.uniformDistributionAction = QtWidgets.QAction(MainWindow)
+ self.uniformDistributionAction.setObjectName("uniformDistributionAction")
+ self.normalDistributionAction = QtWidgets.QAction(MainWindow)
+ self.normalDistributionAction.setObjectName("normalDistributionAction")
+ self.exponentialDistributionAction = QtWidgets.QAction(MainWindow)
+ self.exponentialDistributionAction.setObjectName("exponentialDistributionAction")
self.filemenu.addAction(self.openfileaction)
self.filemenu.addAction(self.savefileaction)
self.filemenu.addAction(self.closefileaction)
@@ -114,30 +88,41 @@ class Ui_MainWindow(object):
self.modelmenu.addAction(self.transformPolynomAction)
self.helpmenu.addAction(self.usageaction)
self.helpmenu.addAction(self.aboutmenuaction)
+ self.menu.addAction(self.uniformDistributionAction)
+ self.menu.addAction(self.normalDistributionAction)
+ self.menu.addAction(self.exponentialDistributionAction)
+ self.menubar.addAction(self.filemenu.menuAction())
+ self.menubar.addAction(self.generatemenu.menuAction())
+ self.menubar.addAction(self.analyzemenu.menuAction())
+ self.menubar.addAction(self.modelmenu.menuAction())
+ self.menubar.addAction(self.menu.menuAction())
+ self.menubar.addAction(self.helpmenu.menuAction())
self.retranslateUi(MainWindow)
-
- QMetaObject.connectSlotsByName(MainWindow)
- # setupUi
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
- MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", None))
- self.aboutmenuaction.setText(QCoreApplication.translate("MainWindow", u"\u041e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435", None))
- self.generateYaction.setText(QCoreApplication.translate("MainWindow", u"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043e\u0442\u043a\u043b\u0438\u043a\u0430", None))
- self.generateXaction.setText(QCoreApplication.translate("MainWindow", u"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u0430", None))
- self.openfileaction.setText(QCoreApplication.translate("MainWindow", u"\u041e\u0442\u043a\u0440\u044b\u0442\u044c", None))
- self.savefileaction.setText(QCoreApplication.translate("MainWindow", u"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", None))
- self.closefileaction.setText(QCoreApplication.translate("MainWindow", u"\u0417\u0430\u043a\u0440\u044b\u0442\u044c", None))
- self.varianceAnalysisAction.setText(QCoreApplication.translate("MainWindow", u"\u0414\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u043e\u043d\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437", None))
- self.correlationAnalisisAction.setText(QCoreApplication.translate("MainWindow", u"\u041a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437", None))
- self.linearPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u043d\u043e\u043c", None))
- self.squaredPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u043d\u043e\u043c", None))
- self.transformPolynomAction.setText(QCoreApplication.translate("MainWindow", u"\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f", None))
- self.usageaction.setText(QCoreApplication.translate("MainWindow", u"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435", None))
- self.label.setText(QCoreApplication.translate("MainWindow", u"\u0421\u0422\u0410\u0422\u0418\u0421\u0422\u0418\u0427\u0415\u0421\u041a\u0418\u0415 \u0414\u0410\u041d\u041d\u042b\u0415", None))
- self.filemenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0424\u0430\u0439\u043b", None))
- self.generatemenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439", None))
- self.analyzemenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0410\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445", None))
- self.modelmenu.setTitle(QCoreApplication.translate("MainWindow", u"\u041c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", None))
- self.helpmenu.setTitle(QCoreApplication.translate("MainWindow", u"\u0421\u043f\u0440\u0430\u0432\u043a\u0430", None))
- # retranslateUi
+ MainWindow.setWindowTitle(QtWidgets.QApplication.translate("MainWindow", "Статистическое моделирование", None, -1))
+ self.label.setText(QtWidgets.QApplication.translate("MainWindow", "СТАТИСТИЧЕСКИЕ ДАННЫЕ", None, -1))
+ self.filemenu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Файл", None, -1))
+ self.generatemenu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Генерация показателей", None, -1))
+ self.analyzemenu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Анализ данных", None, -1))
+ self.modelmenu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Моделирование", None, -1))
+ self.helpmenu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Справка", None, -1))
+ self.menu.setTitle(QtWidgets.QApplication.translate("MainWindow", "Распределения", None, -1))
+ self.aboutmenuaction.setText(QtWidgets.QApplication.translate("MainWindow", "О программе", None, -1))
+ self.generateYaction.setText(QtWidgets.QApplication.translate("MainWindow", "Генерация отклика", None, -1))
+ self.generateXaction.setText(QtWidgets.QApplication.translate("MainWindow", "Генерация фактора", None, -1))
+ self.openfileaction.setText(QtWidgets.QApplication.translate("MainWindow", "Открыть", None, -1))
+ self.savefileaction.setText(QtWidgets.QApplication.translate("MainWindow", "Сохранить", None, -1))
+ self.closefileaction.setText(QtWidgets.QApplication.translate("MainWindow", "Закрыть", None, -1))
+ self.varianceAnalysisAction.setText(QtWidgets.QApplication.translate("MainWindow", "Дисперсионный анализ", None, -1))
+ self.correlationAnalisisAction.setText(QtWidgets.QApplication.translate("MainWindow", "Корреляционный анализ", None, -1))
+ self.linearPolynomAction.setText(QtWidgets.QApplication.translate("MainWindow", "Линейный полином", None, -1))
+ self.squaredPolynomAction.setText(QtWidgets.QApplication.translate("MainWindow", "Квадратичный полином", None, -1))
+ self.transformPolynomAction.setText(QtWidgets.QApplication.translate("MainWindow", "Преобразования", None, -1))
+ self.usageaction.setText(QtWidgets.QApplication.translate("MainWindow", "Использование", None, -1))
+ self.uniformDistributionAction.setText(QtWidgets.QApplication.translate("MainWindow", "Равномерное", None, -1))
+ self.normalDistributionAction.setText(QtWidgets.QApplication.translate("MainWindow", "Нормальное", None, -1))
+ self.exponentialDistributionAction.setText(QtWidgets.QApplication.translate("MainWindow", "Экспоненциальное", None, -1))
+