def setupUi(self, Sd_t_Form): Sd_t_Form.setObjectName("Sd_t_Form") Sd_t_Form.resize(930, 511) font = QtGui.QFont() font.setPointSize(12) Sd_t_Form.setFont(font) self.label_4 = QtWidgets.QLabel(Sd_t_Form) self.label_4.setGeometry(QtCore.QRect(460, 10, 131, 31)) self.label_4.setObjectName("label_4") self.widget = Plot(Sd_t_Form) self.widget.setGeometry(QtCore.QRect(460, 50, 431, 421)) self.widget.setObjectName("widget") self.layoutWidget = QtWidgets.QWidget(Sd_t_Form) self.layoutWidget.setGeometry(QtCore.QRect(10, 190, 439, 138)) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.radioButton_one = QtWidgets.QRadioButton(self.layoutWidget) self.radioButton_one.setChecked(True) self.radioButton_one.setObjectName("radioButton_one") self.horizontalLayout.addWidget(self.radioButton_one) self.radioButton_few = QtWidgets.QRadioButton(self.layoutWidget) self.radioButton_few.setAutoExclusive(True) self.radioButton_few.setObjectName("radioButton_few") self.horizontalLayout.addWidget(self.radioButton_few) self.radioButton = QtWidgets.QRadioButton(self.layoutWidget) self.radioButton.setAutoExclusive(False) self.radioButton.setObjectName("radioButton") self.horizontalLayout.addWidget(self.radioButton) self.verticalLayout.addLayout(self.horizontalLayout) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_2 = QtWidgets.QLabel(self.layoutWidget) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 0, 0, 1, 2) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox.setDecimals(0) self.doubleSpinBox.setMinimum(0.0) self.doubleSpinBox.setObjectName("doubleSpinBox") self.gridLayout.addWidget(self.doubleSpinBox, 0, 2, 1, 2) self.pushButton = QtWidgets.QPushButton(self.layoutWidget) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 0, 4, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.doubleSpinBox_t_arfa = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_t_arfa.setMinimum(0.01) self.doubleSpinBox_t_arfa.setMaximum(0.99) self.doubleSpinBox_t_arfa.setSingleStep(0.01) self.doubleSpinBox_t_arfa.setObjectName("doubleSpinBox_t_arfa") self.gridLayout.addWidget(self.doubleSpinBox_t_arfa, 1, 1, 1, 3) self.pushButton_t_quantile_plot = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_t_quantile_plot.setObjectName("pushButton_t_quantile_plot") self.gridLayout.addWidget(self.pushButton_t_quantile_plot, 1, 4, 1, 1) self.pushButton_t_quantile = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_t_quantile.setObjectName("pushButton_t_quantile") self.gridLayout.addWidget(self.pushButton_t_quantile, 2, 0, 1, 3) self.lineEdit_t_quantile = QtWidgets.QLineEdit(self.layoutWidget) self.lineEdit_t_quantile.setReadOnly(True) self.lineEdit_t_quantile.setObjectName("lineEdit_t_quantile") self.gridLayout.addWidget(self.lineEdit_t_quantile, 2, 3, 1, 2) self.verticalLayout.addLayout(self.gridLayout) self.retranslateUi(Sd_t_Form) QtCore.QMetaObject.connectSlotsByName(Sd_t_Form)
import pandas as pd from Kmeans import KMeans from Plot import Plot dataset = pd.read_csv('data/Mall_Customers.csv') X = dataset.iloc[:, [3, 4]].values clf = KMeans(k=5) y_pred = clf.predict(X) p = Plot() p.plot_in_2d(X, y_pred, title="K-Means Clustering")
pCurve.append(0) for i in range(1, len(path) - 1): path[i] = path[i].add(Vector2D(0.001, 0)) k1 = 0.5 * ((path[i].x**2) + (path[i].y**2) - (path[i - 1].x**2) - (path[i - 1].y**2)) / (path[i].x - path[i - 1].x) k2 = (path[i].y - path[i - 1].y) / (path[i].x - path[i - 1].x) b = 0.5 * ((path[i - 1].x**2) - 2 * path[i - 1].x * k1 + (path[i - 1].y**2) - (path[i + 1].x**2) + 2 * path[i + 1].x * k1 - (path[i + 1].y**2)) / (path[i + 1].x * k2 - path[i + 1].y + path[i - 1].y - path[i - 1].x * k2) a = k1 - k2 * b r = math.sqrt(((path[i].x - a)**2) + ((path[i].y - b)**2)) pCurve.append(1 / r) pCurve.append(0) return pCurve #Variables to control smoothing #Lower b value = less smooth path #Changing a or t breaks it so leave those at what they're at b = 0.97 a = 1 - b t = 0.001 straightPath = injectPoints(coords) smoothedPath = smoothPath(straightPath, a, b, t) Plot(straightPath, smoothedPath, 2)
def plot(self): p = Plot(self) p.stackplot(self.trans_av, 'Average transactions per platform') p.simple_hist_plot(self.rest_av, 'Average rest per platform')
def main(): pd.set_option('display.expand_frame_repr', False) pathFolder = input("Insert dataset path folder (tips: dataset):") pathDataset = input("Insert dataset path folder (tips: KDD99.csv):") pathPlot = input("Insert plot path folder (tips: plot):") df = pd.read_csv(os.path.join(pathFolder, pathDataset), delimiter=",") print("Dataset shape: ", df.shape) print("Dataset before preprocessing: ") print(df.head(5)) #Show distinct classification target distinctLabels = df[df.columns[-1]].unique().tolist() N_CLASSES = len(distinctLabels) print("Start preprocessing step") numericColumn = df.select_dtypes(include=[np.number]).columns.tolist( ) #retrieve all numerical columns for standard scaler classificationCol = df.columns[-1] #name of target column print(classificationCol) #preprocessing: map target from categorical to numeric and one-hot encoding at categorical columns df = preprocessingDS(df) print("Dataset after one-hot encoding:") print(df.head(5)) #preprocessing: standar scaler df = scaler(df, numericColumn) #Split function on train and testing set sizesplit = split_dataset() pl = Plot(pathPlot) train, test = train_test_split(df, test_size=sizesplit) print("Train shape after split: ", train.shape) print("Test shape after split: ", test.shape) pl.plotStatistics(train, test, classificationCol) train_X, train_Y, test_X, test_Y = getXY(train, test, classificationCol) # convert class vectors to binary class matrices train_Y2 = np_utils.to_categorical(train_Y, N_CLASSES) callbacks_list = [ callbacks.EarlyStopping(monitor='val_loss', patience=4, restore_best_weights=True) ] m = Models(N_CLASSES) VALIDATION_SPLIT = 0.1 print('Model with autoencoder+softmax with fixed encoder weights') # parametri per autoencoder p1 = { 'first_layer': 60, 'second_layer': 30, 'third_layer': 10, 'batch_size': 64, 'epochs': 150, 'optimizer': optimizers.Adam, 'kernel_initializer': 'glorot_uniform', 'losses': 'mse', 'first_activation': 'tanh', 'second_activation': 'tanh', 'third_activation': 'tanh' } autoencoder = m.deepAutoEncoder(train_X, p1) autoencoder.summary() #get encoder for feature extraction encoder = Model(inputs=autoencoder.input, outputs=autoencoder.get_layer('encoder3').output) encoder.summary() history2 = autoencoder.fit(train_X, train_X, validation_split=VALIDATION_SPLIT, batch_size=p1['batch_size'], epochs=p1['epochs'], shuffle=False, callbacks=callbacks_list, verbose=1) pl.printPlotLoss(history2, 'autoencoder') plot_model(autoencoder, to_file='autoencoder.png', show_shapes=True, show_layer_names=True) ''' Save weigths from autoencoder model Weights are fixed in the classifier model ''' weights = [] i = 0 for layer in autoencoder.layers: weights.append(layer.get_weights()) # parameters for final model p2 = { 'batch_size': 256, 'epochs': 100, 'optimizer': optimizers.Adam, 'kernel_initializer': 'glorot_uniform', 'losses': 'binary_crossentropy', 'first_activation': 'tanh', 'second_activation': 'tanh', 'third_activation': 'relu' } model = m.MLP_WeightFixed(encoder, train_X, p2) history3 = model.fit(train_X, train_Y2, validation_split=VALIDATION_SPLIT, batch_size=p1['batch_size'], epochs=p1['epochs'], shuffle=False, callbacks=callbacks_list, verbose=1) pl.printPlotAccuracy(history3, 'finalModel1') pl.printPlotLoss(history2, 'finalModel1') model.save('modelfixedW.h5') plot_model(model, to_file='classifier.png', show_shapes=True, show_layer_names=True) predictions = model.predict(test_X) # Predicting the Test set results y_pred = np.argmax(predictions, axis=1) cm = confusion_matrix(test_Y, y_pred) acc = accuracy_score(test_Y, y_pred, normalize=True) LABELS = ["Attacks", "Normal"] print("Confusion matrix on test set") print(cm) print("Accuracy model on test set: " + str(acc)) plt.figure(figsize=(12, 12)) sns.heatmap(cm, xticklabels=LABELS, yticklabels=LABELS, annot=True, fmt="d") plt.title("Confusion matrix on test set") plt.ylabel('True class') plt.xlabel('Predicted class') plt.savefig(os.path.join(pathPlot, "confusion matrix")) plt.show() plt.close()
def setupUi(self, Simple_m_confidence_interval_Form): Simple_m_confidence_interval_Form.setObjectName( "Simple_m_confidence_interval_Form") Simple_m_confidence_interval_Form.resize(1128, 683) self.widget = Plot(Simple_m_confidence_interval_Form) self.widget.setGeometry(QtCore.QRect(350, 130, 741, 521)) self.widget.setObjectName("widget") self.layoutWidget = QtWidgets.QWidget( Simple_m_confidence_interval_Form) self.layoutWidget.setGeometry(QtCore.QRect(30, 590, 281, 41)) self.layoutWidget.setObjectName("layoutWidget") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_9 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_9.sizePolicy().hasHeightForWidth()) self.label_9.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.horizontalLayout_2.addWidget(self.label_9) self.lineEdit_25 = QtWidgets.QLineEdit(self.layoutWidget) self.lineEdit_25.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_25.sizePolicy().hasHeightForWidth()) self.lineEdit_25.setSizePolicy(sizePolicy) self.lineEdit_25.setMaxLength(20) self.lineEdit_25.setObjectName("lineEdit_25") self.horizontalLayout_2.addWidget(self.lineEdit_25) self.layoutWidget1 = QtWidgets.QWidget( Simple_m_confidence_interval_Form) self.layoutWidget1.setGeometry(QtCore.QRect(30, 490, 281, 41)) self.layoutWidget1.setObjectName("layoutWidget1") self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget1) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.label_7 = QtWidgets.QLabel(self.layoutWidget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_7.setFont(font) self.label_7.setObjectName("label_7") self.horizontalLayout.addWidget(self.label_7) self.lineEdit_21 = QtWidgets.QLineEdit(self.layoutWidget1) self.lineEdit_21.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_21.sizePolicy().hasHeightForWidth()) self.lineEdit_21.setSizePolicy(sizePolicy) self.lineEdit_21.setMaxLength(20) self.lineEdit_21.setObjectName("lineEdit_21") self.horizontalLayout.addWidget(self.lineEdit_21) self.layoutWidget_2 = QtWidgets.QWidget( Simple_m_confidence_interval_Form) self.layoutWidget_2.setGeometry(QtCore.QRect(30, 540, 281, 41)) self.layoutWidget_2.setObjectName("layoutWidget_2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.layoutWidget_2) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.label_10 = QtWidgets.QLabel(self.layoutWidget_2) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_10.setFont(font) self.label_10.setObjectName("label_10") self.horizontalLayout_4.addWidget(self.label_10) self.lineEdit_4 = QtWidgets.QLineEdit(self.layoutWidget_2) self.lineEdit_4.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_4.sizePolicy().hasHeightForWidth()) self.lineEdit_4.setSizePolicy(sizePolicy) self.lineEdit_4.setMaxLength(10) self.lineEdit_4.setObjectName("lineEdit_4") self.horizontalLayout_4.addWidget(self.lineEdit_4) self.lineEdit_5 = QtWidgets.QLineEdit(self.layoutWidget_2) self.lineEdit_5.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_5.sizePolicy().hasHeightForWidth()) self.lineEdit_5.setSizePolicy(sizePolicy) self.lineEdit_5.setMaxLength(10) self.lineEdit_5.setObjectName("lineEdit_5") self.horizontalLayout_4.addWidget(self.lineEdit_5) self.layoutWidget2 = QtWidgets.QWidget( Simple_m_confidence_interval_Form) self.layoutWidget2.setGeometry(QtCore.QRect(30, 440, 281, 41)) self.layoutWidget2.setObjectName("layoutWidget2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.layoutWidget2) self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_2 = QtWidgets.QLabel(self.layoutWidget2) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.horizontalLayout_3.addWidget(self.label_2) self.lineEdit_3 = QtWidgets.QLineEdit(self.layoutWidget2) self.lineEdit_3.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_3.sizePolicy().hasHeightForWidth()) self.lineEdit_3.setSizePolicy(sizePolicy) self.lineEdit_3.setMaxLength(10) self.lineEdit_3.setObjectName("lineEdit_3") self.horizontalLayout_3.addWidget(self.lineEdit_3) self.layoutWidget3 = QtWidgets.QWidget( Simple_m_confidence_interval_Form) self.layoutWidget3.setGeometry(QtCore.QRect(31, 118, 251, 301)) self.layoutWidget3.setObjectName("layoutWidget3") self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget3) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.label_6 = QtWidgets.QLabel(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_6.sizePolicy().hasHeightForWidth()) self.label_6.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_6.setFont(font) self.label_6.setObjectName("label_6") self.gridLayout.addWidget(self.label_6, 0, 0, 1, 1) self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_2.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_2.setSizePolicy(sizePolicy) self.doubleSpinBox_2.setMaximum(1e+23) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.gridLayout.addWidget(self.doubleSpinBox_2, 1, 0, 1, 1) self.label_4 = QtWidgets.QLabel(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_4.sizePolicy().hasHeightForWidth()) self.label_4.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 2, 0, 1, 1) self.doubleSpinBox_3 = QtWidgets.QDoubleSpinBox(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_3.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_3.setSizePolicy(sizePolicy) self.doubleSpinBox_3.setMaximum(1e+27) self.doubleSpinBox_3.setProperty("value", 1.0) self.doubleSpinBox_3.setObjectName("doubleSpinBox_3") self.gridLayout.addWidget(self.doubleSpinBox_3, 3, 0, 1, 1) self.label = QtWidgets.QLabel(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label.setFont(font) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 4, 0, 1, 1) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox.sizePolicy().hasHeightForWidth()) self.doubleSpinBox.setSizePolicy(sizePolicy) self.doubleSpinBox.setMaximum(1.0) self.doubleSpinBox.setSingleStep(0.01) self.doubleSpinBox.setProperty("value", 0.05) self.doubleSpinBox.setObjectName("doubleSpinBox") self.gridLayout.addWidget(self.doubleSpinBox, 5, 0, 1, 1) self.label_3 = QtWidgets.QLabel(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 6, 0, 1, 1) self.lineEdit_22 = QtWidgets.QLineEdit(self.layoutWidget3) self.lineEdit_22.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_22.sizePolicy().hasHeightForWidth()) self.lineEdit_22.setSizePolicy(sizePolicy) self.lineEdit_22.setMaxLength(4) self.lineEdit_22.setObjectName("lineEdit_22") self.gridLayout.addWidget(self.lineEdit_22, 7, 0, 1, 1) self.label_5 = QtWidgets.QLabel(self.layoutWidget3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_5.setFont(font) self.label_5.setObjectName("label_5") self.gridLayout.addWidget(self.label_5, 8, 0, 1, 1) self.lineEdit_24 = QtWidgets.QLineEdit(self.layoutWidget3) self.lineEdit_24.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_24.sizePolicy().hasHeightForWidth()) self.lineEdit_24.setSizePolicy(sizePolicy) self.lineEdit_24.setMaxLength(4) self.lineEdit_24.setObjectName("lineEdit_24") self.gridLayout.addWidget(self.lineEdit_24, 9, 0, 1, 1) self.widget1 = QtWidgets.QWidget(Simple_m_confidence_interval_Form) self.widget1.setGeometry(QtCore.QRect(30, 30, 491, 31)) self.widget1.setObjectName("widget1") self.horizontalLayout_5 = QtWidgets.QHBoxLayout(self.widget1) self.horizontalLayout_5.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.lineEdit = QtWidgets.QLineEdit(self.widget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit.sizePolicy().hasHeightForWidth()) self.lineEdit.setSizePolicy(sizePolicy) self.lineEdit.setObjectName("lineEdit") self.horizontalLayout_5.addWidget(self.lineEdit) self.pushButton_4 = QtWidgets.QPushButton(self.widget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.pushButton_4.sizePolicy().hasHeightForWidth()) self.pushButton_4.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.pushButton_4.setFont(font) self.pushButton_4.setObjectName("pushButton_4") self.horizontalLayout_5.addWidget(self.pushButton_4) self.widget2 = QtWidgets.QWidget(Simple_m_confidence_interval_Form) self.widget2.setGeometry(QtCore.QRect(30, 70, 211, 26)) self.widget2.setObjectName("widget2") self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget2) self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.label_8 = QtWidgets.QLabel(self.widget2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_8.sizePolicy().hasHeightForWidth()) self.label_8.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.horizontalLayout_6.addWidget(self.label_8) self.spinBox = QtWidgets.QSpinBox(self.widget2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBox.sizePolicy().hasHeightForWidth()) self.spinBox.setSizePolicy(sizePolicy) self.spinBox.setMinimum(1) self.spinBox.setMaximum(999999999) self.spinBox.setObjectName("spinBox") self.horizontalLayout_6.addWidget(self.spinBox) self.widget3 = QtWidgets.QWidget(Simple_m_confidence_interval_Form) self.widget3.setGeometry(QtCore.QRect(530, 20, 554, 59)) self.widget3.setObjectName("widget3") self.gridLayout_2 = QtWidgets.QGridLayout(self.widget3) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setObjectName("gridLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.radioButton_2 = QtWidgets.QRadioButton(self.widget3) font = QtGui.QFont() font.setPointSize(12) self.radioButton_2.setFont(font) self.radioButton_2.setObjectName("radioButton_2") self.verticalLayout.addWidget(self.radioButton_2) self.radioButton = QtWidgets.QRadioButton(self.widget3) font = QtGui.QFont() font.setPointSize(12) self.radioButton.setFont(font) self.radioButton.setChecked(True) self.radioButton.setObjectName("radioButton") self.verticalLayout.addWidget(self.radioButton) self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1) self.comboBox = QtWidgets.QComboBox(self.widget3) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.comboBox.setFont(font) self.comboBox.setFocusPolicy(QtCore.Qt.WheelFocus) self.comboBox.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.comboBox.setLayoutDirection(QtCore.Qt.LeftToRight) self.comboBox.setInsertPolicy(QtWidgets.QComboBox.InsertAtBottom) self.comboBox.setFrame(True) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.gridLayout_2.addWidget(self.comboBox, 0, 1, 1, 1) self.pushButton = QtWidgets.QPushButton(self.widget3) font = QtGui.QFont() font.setPointSize(12) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.gridLayout_2.addWidget(self.pushButton, 0, 2, 1, 1) self.retranslateUi(Simple_m_confidence_interval_Form) QtCore.QMetaObject.connectSlotsByName( Simple_m_confidence_interval_Form)
from Config import Config from Plot import Plot from SensorList import SensorList from Coordinates import Coordinates from Historian import Historian from Heatmap import Heatmap import paho.mqtt.client as mqtt sensors = {} # config file config = Config('config.json') plot = Plot(config.getRoomX(), config.getRoomY(), config.getSensorLocations(), config.getImage('room'), config.getTempLimit(), config.getOpeningTime(), config.getClosingTime(), config.getSocialDistancing()) sensorList = SensorList(config.getSensorXOffset(), config.getSensorYOffset(), config.getXMultiplier(), config.getYMultiplier(), config.getSensorLocations()) coordinates = Coordinates(config.getMaxDifference()) historian = Historian(config.getHistorianFolder(), config.getHistorianFilePrefix(), config.getHistorianHeaders()) heatmap = Heatmap(config.getAverageHeatmapTemp(), config.getRoomX(), config.getRoomY(), config.getXMultiplier(), config.getYMultiplier()) def on_connect(client, userdata, flags, rc): print('Connected with result code ' + str(rc)) client.subscribe(config.getMqttTopic())
names = [ 'Conf', 'profile', 'Cuser', 'rate', 'RT', 'KO', 'Nrequest', '%KO', 'RTStdDev' ] ConfTable = [ '1WPmedium_1DBmedium ', '2WPmedium_1DBmedium ', '3WPmedium_1DBmedium ', '1WPmedium_1DBlarge ', '2WPmedium_1DBlarge ', '3WPmedium_1DBlarge ' ] #,'1WPlarge_1DB '] #ConfTable=['1WPmedium_1DBmedium ','2WPmedium_1DBmedium ','3WPmedium_1DBmedium '] CostTable = { 'medium': 0.0288, 'large': 0.0576, 'xlarge': 0.1152, 'xxlarge': 0.2304, '': 0.2304 } Profiles = [' author ', ' editor ', ' shopmanager ', ' userreader '] #Profiles=[' userreader '] file = base_dir + '/data/stats.csv' df = pd.read_csv(file, names=names, header=None) costs = costs(CostTable) plot = Plot(df, ConfTable, CostTable, Profiles, costs) policy = scalingPolicy(df, ConfTable, CostTable, Profiles, costs) plot.evaluate() #policy.evaluate() #print costs.costFromString('1WPmedium_1DBmedium')
def setupUi(self, Sd_DoubleNormal_Form): Sd_DoubleNormal_Form.setObjectName("Sd_DoubleNormal_Form") Sd_DoubleNormal_Form.resize(1123, 615) font = QtGui.QFont() font.setPointSize(12) Sd_DoubleNormal_Form.setFont(font) self.widget = Plot(Sd_DoubleNormal_Form) self.widget.setGeometry(QtCore.QRect(110, 190, 901, 391)) self.widget.setObjectName("widget") self.layoutWidget = QtWidgets.QWidget(Sd_DoubleNormal_Form) self.layoutWidget.setGeometry(QtCore.QRect(40, 41, 1045, 101)) self.layoutWidget.setObjectName("layoutWidget") self.gridLayout_2 = QtWidgets.QGridLayout(self.layoutWidget) self.gridLayout_2.setContentsMargins(0, 0, 0, 0) self.gridLayout_2.setObjectName("gridLayout_2") self.label_6 = QtWidgets.QLabel(self.layoutWidget) self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 0, 6, 1, 1) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.label_8 = QtWidgets.QLabel(self.layoutWidget) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 0, 3, 1, 1) self.doubleSpinBox_mu2 = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_mu2.setMinimum(-1e+31) self.doubleSpinBox_mu2.setMaximum(1e+28) self.doubleSpinBox_mu2.setObjectName("doubleSpinBox_mu2") self.gridLayout.addWidget(self.doubleSpinBox_mu2, 1, 1, 1, 2) self.doubleSpinBox_mu1 = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_mu1.setMinimum(-1e+31) self.doubleSpinBox_mu1.setMaximum(1e+28) self.doubleSpinBox_mu1.setObjectName("doubleSpinBox_mu1") self.gridLayout.addWidget(self.doubleSpinBox_mu1, 0, 2, 1, 1) self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 1, 3, 1, 1) self.label_7 = QtWidgets.QLabel(self.layoutWidget) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 0, 0, 1, 2) self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.gridLayout.addWidget(self.label_3, 1, 0, 1, 1) self.doubleSpinBox_sigma2 = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_sigma2.setMinimum(0.0) self.doubleSpinBox_sigma2.setMaximum(1e+28) self.doubleSpinBox_sigma2.setProperty("value", 1.0) self.doubleSpinBox_sigma2.setObjectName("doubleSpinBox_sigma2") self.gridLayout.addWidget(self.doubleSpinBox_sigma2, 1, 4, 1, 1) self.doubleSpinBox_sigma1 = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_sigma1.setMinimum(0.0) self.doubleSpinBox_sigma1.setMaximum(1e+28) self.doubleSpinBox_sigma1.setProperty("value", 1.0) self.doubleSpinBox_sigma1.setObjectName("doubleSpinBox_sigma1") self.gridLayout.addWidget(self.doubleSpinBox_sigma1, 0, 4, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 1, 1, 1, 6) self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.gridLayout_2.addWidget(self.label, 0, 0, 1, 1) self.spinBox_m1 = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_m1.setMinimum(1) self.spinBox_m1.setMaximum(999999999) self.spinBox_m1.setObjectName("spinBox_m1") self.gridLayout_2.addWidget(self.spinBox_m1, 0, 5, 1, 1) self.spinBox_m2 = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_m2.setMinimum(1) self.spinBox_m2.setMaximum(999999999) self.spinBox_m2.setObjectName("spinBox_m2") self.gridLayout_2.addWidget(self.spinBox_m2, 0, 7, 1, 1) self.spinBox_n2 = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_n2.setMinimum(2) self.spinBox_n2.setMaximum(999999999) self.spinBox_n2.setObjectName("spinBox_n2") self.gridLayout_2.addWidget(self.spinBox_n2, 0, 3, 1, 1) self.label_2 = QtWidgets.QLabel(self.layoutWidget) self.label_2.setObjectName("label_2") self.gridLayout_2.addWidget(self.label_2, 0, 4, 1, 1) self.spinBox_n1 = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_n1.setMinimum(2) self.spinBox_n1.setMaximum(999999999) self.spinBox_n1.setObjectName("spinBox_n1") self.gridLayout_2.addWidget(self.spinBox_n1, 0, 1, 1, 1) self.label_5 = QtWidgets.QLabel(self.layoutWidget) self.label_5.setObjectName("label_5") self.gridLayout_2.addWidget(self.label_5, 0, 2, 1, 1) self.pushButton_4 = QtWidgets.QPushButton(Sd_DoubleNormal_Form) self.pushButton_4.setGeometry(QtCore.QRect(850, 150, 239, 29)) self.pushButton_4.setObjectName("pushButton_4") self.comboBox = QtWidgets.QComboBox(Sd_DoubleNormal_Form) self.comboBox.setGeometry(QtCore.QRect(40, 150, 411, 26)) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.widget1 = QtWidgets.QWidget(Sd_DoubleNormal_Form) self.widget1.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.widget1.setObjectName("widget1") self.gridLayout_3 = QtWidgets.QGridLayout(self.widget1) self.gridLayout_3.setContentsMargins(0, 0, 0, 0) self.gridLayout_3.setObjectName("gridLayout_3") self.widget2 = QtWidgets.QWidget(Sd_DoubleNormal_Form) self.widget2.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.widget2.setObjectName("widget2") self.gridLayout_4 = QtWidgets.QGridLayout(self.widget2) self.gridLayout_4.setContentsMargins(0, 0, 0, 0) self.gridLayout_4.setObjectName("gridLayout_4") self.widget3 = QtWidgets.QWidget(Sd_DoubleNormal_Form) self.widget3.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.widget3.setObjectName("widget3") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget3) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.retranslateUi(Sd_DoubleNormal_Form) QtCore.QMetaObject.connectSlotsByName(Sd_DoubleNormal_Form)
def setupUi(self, double_confidence_interval_Form): double_confidence_interval_Form.setObjectName( "double_confidence_interval_Form") double_confidence_interval_Form.resize(1128, 683) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( double_confidence_interval_Form.sizePolicy().hasHeightForWidth()) double_confidence_interval_Form.setSizePolicy(sizePolicy) self.pushButton = QtWidgets.QPushButton( double_confidence_interval_Form) self.pushButton.setGeometry(QtCore.QRect(780, 20, 261, 31)) font = QtGui.QFont() font.setPointSize(12) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.widget = Plot(double_confidence_interval_Form) self.widget.setGeometry(QtCore.QRect(500, 130, 591, 521)) self.widget.setObjectName("widget") self.radioButton = QtWidgets.QRadioButton( double_confidence_interval_Form) self.radioButton.setGeometry(QtCore.QRect(500, 80, 201, 21)) font = QtGui.QFont() font.setPointSize(12) self.radioButton.setFont(font) self.radioButton.setChecked(True) self.radioButton.setObjectName("radioButton") self.radioButton_3 = QtWidgets.QRadioButton( double_confidence_interval_Form) self.radioButton_3.setGeometry(QtCore.QRect(960, 80, 161, 21)) font = QtGui.QFont() font.setPointSize(12) self.radioButton_3.setFont(font) self.radioButton_3.setObjectName("radioButton_3") self.radioButton_5 = QtWidgets.QRadioButton( double_confidence_interval_Form) self.radioButton_5.setGeometry(QtCore.QRect(730, 80, 201, 21)) font = QtGui.QFont() font.setPointSize(12) self.radioButton_5.setFont(font) self.radioButton_5.setObjectName("radioButton_5") self.comboBox = QtWidgets.QComboBox(double_confidence_interval_Form) self.comboBox.setGeometry(QtCore.QRect(500, 20, 211, 31)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.comboBox.setFont(font) self.comboBox.setFocusPolicy(QtCore.Qt.WheelFocus) self.comboBox.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu) self.comboBox.setLayoutDirection(QtCore.Qt.LeftToRight) self.comboBox.setInsertPolicy(QtWidgets.QComboBox.InsertAtBottom) self.comboBox.setFrame(True) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.groupBox = QtWidgets.QGroupBox(double_confidence_interval_Form) self.groupBox.setGeometry(QtCore.QRect(30, 50, 411, 351)) self.groupBox.setTitle("") self.groupBox.setObjectName("groupBox") self.lineEdit = QtWidgets.QLineEdit(self.groupBox) self.lineEdit.setGeometry(QtCore.QRect(10, 10, 271, 31)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit.sizePolicy().hasHeightForWidth()) self.lineEdit.setSizePolicy(sizePolicy) self.lineEdit.setObjectName("lineEdit") self.pushButton_7 = QtWidgets.QPushButton(self.groupBox) self.pushButton_7.setGeometry(QtCore.QRect(290, 10, 121, 31)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.pushButton_7.sizePolicy().hasHeightForWidth()) self.pushButton_7.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.pushButton_7.setFont(font) self.pushButton_7.setObjectName("pushButton_7") self.label_8 = QtWidgets.QLabel(self.groupBox) self.label_8.setGeometry(QtCore.QRect(11, 181, 47, 24)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_8.sizePolicy().hasHeightForWidth()) self.label_8.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.label_11 = QtWidgets.QLabel(self.groupBox) self.label_11.setGeometry(QtCore.QRect(11, 212, 80, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_11.setFont(font) self.label_11.setObjectName("label_11") self.spinBox_2 = QtWidgets.QSpinBox(self.groupBox) self.spinBox_2.setGeometry(QtCore.QRect(118, 212, 171, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBox_2.sizePolicy().hasHeightForWidth()) self.spinBox_2.setSizePolicy(sizePolicy) self.spinBox_2.setMinimum(1) self.spinBox_2.setMaximum(999999999) self.spinBox_2.setObjectName("spinBox_2") self.label_3 = QtWidgets.QLabel(self.groupBox) self.label_3.setGeometry(QtCore.QRect(11, 243, 100, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.doubleSpinBox_4 = QtWidgets.QDoubleSpinBox(self.groupBox) self.doubleSpinBox_4.setGeometry(QtCore.QRect(118, 243, 174, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_4.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_4.setSizePolicy(sizePolicy) self.doubleSpinBox_4.setMaximum(1e+29) self.doubleSpinBox_4.setObjectName("doubleSpinBox_4") self.label_9 = QtWidgets.QLabel(self.groupBox) self.label_9.setGeometry(QtCore.QRect(11, 274, 100, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.doubleSpinBox_5 = QtWidgets.QDoubleSpinBox(self.groupBox) self.doubleSpinBox_5.setGeometry(QtCore.QRect(118, 274, 174, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_5.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_5.setSizePolicy(sizePolicy) self.doubleSpinBox_5.setMaximum(1e+29) self.doubleSpinBox_5.setProperty("value", 1.0) self.doubleSpinBox_5.setObjectName("doubleSpinBox_5") self.label_2 = QtWidgets.QLabel(self.groupBox) self.label_2.setGeometry(QtCore.QRect(11, 51, 47, 24)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.label_6 = QtWidgets.QLabel(self.groupBox) self.label_6.setGeometry(QtCore.QRect(11, 82, 80, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_6.setFont(font) self.label_6.setObjectName("label_6") self.spinBox = QtWidgets.QSpinBox(self.groupBox) self.spinBox.setGeometry(QtCore.QRect(118, 82, 171, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBox.sizePolicy().hasHeightForWidth()) self.spinBox.setSizePolicy(sizePolicy) self.spinBox.setMinimum(1) self.spinBox.setMaximum(999999999) self.spinBox.setObjectName("spinBox") self.label_4 = QtWidgets.QLabel(self.groupBox) self.label_4.setGeometry(QtCore.QRect(11, 113, 100, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.groupBox) self.doubleSpinBox_2.setGeometry(QtCore.QRect(118, 113, 174, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_2.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_2.setSizePolicy(sizePolicy) self.doubleSpinBox_2.setMaximum(1e+29) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.label_5 = QtWidgets.QLabel(self.groupBox) self.label_5.setGeometry(QtCore.QRect(11, 144, 100, 24)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_5.setFont(font) self.label_5.setObjectName("label_5") self.doubleSpinBox_3 = QtWidgets.QDoubleSpinBox(self.groupBox) self.doubleSpinBox_3.setGeometry(QtCore.QRect(118, 144, 174, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_3.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_3.setSizePolicy(sizePolicy) self.doubleSpinBox_3.setMaximum(1e+29) self.doubleSpinBox_3.setProperty("value", 1.0) self.doubleSpinBox_3.setObjectName("doubleSpinBox_3") self.widget1 = QtWidgets.QWidget(double_confidence_interval_Form) self.widget1.setGeometry(QtCore.QRect(30, 410, 411, 211)) self.widget1.setObjectName("widget1") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.label_12 = QtWidgets.QLabel(self.widget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_12.setFont(font) self.label_12.setObjectName("label_12") self.gridLayout_2.addWidget(self.label_12, 0, 0, 1, 1) self.lineEdit_3 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_3.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_3.sizePolicy().hasHeightForWidth()) self.lineEdit_3.setSizePolicy(sizePolicy) self.lineEdit_3.setObjectName("lineEdit_3") self.gridLayout_2.addWidget(self.lineEdit_3, 0, 1, 1, 1) self.label_14 = QtWidgets.QLabel(self.widget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_14.setFont(font) self.label_14.setObjectName("label_14") self.gridLayout_2.addWidget(self.label_14, 0, 2, 1, 1) self.lineEdit_5 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_5.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_5.sizePolicy().hasHeightForWidth()) self.lineEdit_5.setSizePolicy(sizePolicy) self.lineEdit_5.setObjectName("lineEdit_5") self.gridLayout_2.addWidget(self.lineEdit_5, 0, 3, 1, 1) self.label_13 = QtWidgets.QLabel(self.widget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_13.setFont(font) self.label_13.setObjectName("label_13") self.gridLayout_2.addWidget(self.label_13, 1, 0, 1, 1) self.lineEdit_4 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_4.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_4.sizePolicy().hasHeightForWidth()) self.lineEdit_4.setSizePolicy(sizePolicy) self.lineEdit_4.setObjectName("lineEdit_4") self.gridLayout_2.addWidget(self.lineEdit_4, 1, 1, 1, 1) self.label_15 = QtWidgets.QLabel(self.widget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_15.setFont(font) self.label_15.setObjectName("label_15") self.gridLayout_2.addWidget(self.label_15, 1, 2, 1, 1) self.lineEdit_6 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_6.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_6.sizePolicy().hasHeightForWidth()) self.lineEdit_6.setSizePolicy(sizePolicy) self.lineEdit_6.setObjectName("lineEdit_6") self.gridLayout_2.addWidget(self.lineEdit_6, 1, 3, 1, 1) self.verticalLayout_2.addLayout(self.gridLayout_2) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label = QtWidgets.QLabel(self.widget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label.setFont(font) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.widget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox.sizePolicy().hasHeightForWidth()) self.doubleSpinBox.setSizePolicy(sizePolicy) self.doubleSpinBox.setMaximum(1.0) self.doubleSpinBox.setSingleStep(0.01) self.doubleSpinBox.setProperty("value", 0.05) self.doubleSpinBox.setObjectName("doubleSpinBox") self.horizontalLayout.addWidget(self.doubleSpinBox) self.verticalLayout_2.addLayout(self.horizontalLayout) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.label_7 = QtWidgets.QLabel(self.widget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_7.setFont(font) self.label_7.setObjectName("label_7") self.verticalLayout.addWidget(self.label_7) self.lineEdit_21 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_21.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_21.sizePolicy().hasHeightForWidth()) self.lineEdit_21.setSizePolicy(sizePolicy) self.lineEdit_21.setMaxLength(20) self.lineEdit_21.setObjectName("lineEdit_21") self.verticalLayout.addWidget(self.lineEdit_21) self.label_10 = QtWidgets.QLabel(self.widget1) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.label_10.setFont(font) self.label_10.setObjectName("label_10") self.verticalLayout.addWidget(self.label_10) self.lineEdit_25 = QtWidgets.QLineEdit(self.widget1) self.lineEdit_25.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_25.sizePolicy().hasHeightForWidth()) self.lineEdit_25.setSizePolicy(sizePolicy) self.lineEdit_25.setMaxLength(20) self.lineEdit_25.setObjectName("lineEdit_25") self.verticalLayout.addWidget(self.lineEdit_25) self.verticalLayout_2.addLayout(self.verticalLayout) self.retranslateUi(double_confidence_interval_Form) QtCore.QMetaObject.connectSlotsByName(double_confidence_interval_Form)
def main(): plt = Plot() window = Window(plt) window.pack() window.show()
def setupUi(self, Sd_SingleNormal_Form): Sd_SingleNormal_Form.setObjectName("Sd_SingleNormal_Form") Sd_SingleNormal_Form.resize(1123, 615) font = QtGui.QFont() font.setPointSize(12) Sd_SingleNormal_Form.setFont(font) self.widget = Plot(Sd_SingleNormal_Form) self.widget.setGeometry(QtCore.QRect(110, 180, 901, 391)) self.widget.setObjectName("widget") self.layoutWidget = QtWidgets.QWidget(Sd_SingleNormal_Form) self.layoutWidget.setGeometry(QtCore.QRect(180, 40, 745, 105)) self.layoutWidget.setObjectName("layoutWidget") self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName("gridLayout") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_3 = QtWidgets.QLabel(self.layoutWidget) self.label_3.setObjectName("label_3") self.horizontalLayout_3.addWidget(self.label_3) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox.setMinimum(-1e+31) self.doubleSpinBox.setMaximum(1e+28) self.doubleSpinBox.setObjectName("doubleSpinBox") self.horizontalLayout_3.addWidget(self.doubleSpinBox) self.label_4 = QtWidgets.QLabel(self.layoutWidget) self.label_4.setObjectName("label_4") self.horizontalLayout_3.addWidget(self.label_4) self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.layoutWidget) self.doubleSpinBox_2.setMinimum(0.0) self.doubleSpinBox_2.setMaximum(1e+28) self.doubleSpinBox_2.setProperty("value", 1.0) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.horizontalLayout_3.addWidget(self.doubleSpinBox_2) self.gridLayout.addLayout(self.horizontalLayout_3, 1, 0, 1, 1) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label = QtWidgets.QLabel(self.layoutWidget) self.label.setObjectName("label") self.horizontalLayout_2.addWidget(self.label) self.spinBox_n = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_n.setMinimum(2) self.spinBox_n.setMaximum(999999999) self.spinBox_n.setObjectName("spinBox_n") self.horizontalLayout_2.addWidget(self.spinBox_n) self.label_2 = QtWidgets.QLabel(self.layoutWidget) self.label_2.setObjectName("label_2") self.horizontalLayout_2.addWidget(self.label_2) self.spinBox_m = QtWidgets.QSpinBox(self.layoutWidget) self.spinBox_m.setMinimum(1) self.spinBox_m.setMaximum(999999999) self.spinBox_m.setObjectName("spinBox_m") self.horizontalLayout_2.addWidget(self.spinBox_m) self.gridLayout.addLayout(self.horizontalLayout_2, 0, 0, 1, 1) self.pushButton_4 = QtWidgets.QPushButton(Sd_SingleNormal_Form) self.pushButton_4.setGeometry(QtCore.QRect(800, 150, 131, 29)) self.pushButton_4.setObjectName("pushButton_4") self.comboBox = QtWidgets.QComboBox(Sd_SingleNormal_Form) self.comboBox.setGeometry(QtCore.QRect(180, 150, 301, 26)) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.retranslateUi(Sd_SingleNormal_Form) QtCore.QMetaObject.connectSlotsByName(Sd_SingleNormal_Form)
def setupUi(self, Sd_f_Form): Sd_f_Form.setObjectName("Sd_f_Form") Sd_f_Form.resize(903, 511) font = QtGui.QFont() font.setPointSize(12) Sd_f_Form.setFont(font) self.label_4 = QtWidgets.QLabel(Sd_f_Form) self.label_4.setGeometry(QtCore.QRect(370, 10, 241, 31)) self.label_4.setTextFormat(QtCore.Qt.AutoText) self.label_4.setObjectName("label_4") self.widget = Plot(Sd_f_Form) self.widget.setGeometry(QtCore.QRect(360, 50, 511, 431)) self.widget.setObjectName("widget") self.widget1 = QtWidgets.QWidget(Sd_f_Form) self.widget1.setGeometry(QtCore.QRect(10, 170, 343, 178)) self.widget1.setObjectName("widget1") self.verticalLayout = QtWidgets.QVBoxLayout(self.widget1) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.radioButton_one = QtWidgets.QRadioButton(self.widget1) self.radioButton_one.setChecked(True) self.radioButton_one.setObjectName("radioButton_one") self.horizontalLayout_3.addWidget(self.radioButton_one) self.radioButton_few = QtWidgets.QRadioButton(self.widget1) self.radioButton_few.setObjectName("radioButton_few") self.horizontalLayout_3.addWidget(self.radioButton_few) self.verticalLayout.addLayout(self.horizontalLayout_3) self.gridLayout_3 = QtWidgets.QGridLayout() self.gridLayout_3.setObjectName("gridLayout_3") self.gridLayout_2 = QtWidgets.QGridLayout() self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.doubleSpinBox_f_n = QtWidgets.QDoubleSpinBox(self.widget1) self.doubleSpinBox_f_n.setDecimals(0) self.doubleSpinBox_f_n.setObjectName("doubleSpinBox_f_n") self.gridLayout.addWidget(self.doubleSpinBox_f_n, 0, 1, 1, 1) self.label = QtWidgets.QLabel(self.widget1) self.label.setObjectName("label") self.gridLayout.addWidget(self.label, 1, 0, 1, 1) self.doubleSpinBox_f_m = QtWidgets.QDoubleSpinBox(self.widget1) self.doubleSpinBox_f_m.setDecimals(0) self.doubleSpinBox_f_m.setObjectName("doubleSpinBox_f_m") self.gridLayout.addWidget(self.doubleSpinBox_f_m, 1, 1, 1, 1) self.label_2 = QtWidgets.QLabel(self.widget1) self.label_2.setObjectName("label_2") self.gridLayout.addWidget(self.label_2, 0, 0, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) self.pushButton = QtWidgets.QPushButton(self.widget1) self.pushButton.setObjectName("pushButton") self.gridLayout_2.addWidget(self.pushButton, 0, 1, 1, 1) self.gridLayout_3.addLayout(self.gridLayout_2, 0, 0, 1, 1) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label_3 = QtWidgets.QLabel(self.widget1) self.label_3.setObjectName("label_3") self.horizontalLayout.addWidget(self.label_3) self.doubleSpinBox_f_arfa = QtWidgets.QDoubleSpinBox(self.widget1) self.doubleSpinBox_f_arfa.setMinimum(0.01) self.doubleSpinBox_f_arfa.setMaximum(0.99) self.doubleSpinBox_f_arfa.setSingleStep(0.01) self.doubleSpinBox_f_arfa.setObjectName("doubleSpinBox_f_arfa") self.horizontalLayout.addWidget(self.doubleSpinBox_f_arfa) self.pushButton_f_quantile_plot = QtWidgets.QPushButton(self.widget1) self.pushButton_f_quantile_plot.setObjectName( "pushButton_f_quantile_plot") self.horizontalLayout.addWidget(self.pushButton_f_quantile_plot) self.gridLayout_3.addLayout(self.horizontalLayout, 1, 0, 1, 1) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.pushButton_f_quantile = QtWidgets.QPushButton(self.widget1) self.pushButton_f_quantile.setObjectName("pushButton_f_quantile") self.horizontalLayout_2.addWidget(self.pushButton_f_quantile) self.lineEdit_f_quantile = QtWidgets.QLineEdit(self.widget1) self.lineEdit_f_quantile.setReadOnly(True) self.lineEdit_f_quantile.setObjectName("lineEdit_f_quantile") self.horizontalLayout_2.addWidget(self.lineEdit_f_quantile) self.gridLayout_3.addLayout(self.horizontalLayout_2, 2, 0, 1, 1) self.verticalLayout.addLayout(self.gridLayout_3) self.retranslateUi(Sd_f_Form) QtCore.QMetaObject.connectSlotsByName(Sd_f_Form)
def test(self, s1, s2, ti, level=1): """ Cointegration test ----------- :param s1: first time series (accelerometer[x,y,z] or gyrometer[x,y,z]) :param s2: second time series (accelerometer[x,y,z] or gyrometer[x,y,z]) :param ti: time (seconds or microseconds) :return hat: estimated vector at time (accelerometer[x,y,z] or gyrometer[x,y,z]) :return sd: standard deviation of error """ from Plot import Plot # Create the process. We don't know the properties of process. I(1), I(0)??? # Obs: for more levels implements elif and else and change the names in 'data' variable if 1 <= level <= 6: data = {'IMU 1': s1, 'IMU 2': s2} else: data = {'Data 1': s1, 'Data 2': s2} # Create the process y = pd.DataFrame(index=ti, data=data) # Initial Plots p = Plot() if level == 1: # Acceleration in x p.visualize_dataframe(y, 'Filtered acceleration X axis', str(path_converted + 'true_ax.eps'), 'Acceleration [g]') elif level == 2: # Acceleration in y p.visualize_dataframe(y, 'Filtered acceleration Y axis', str(path_converted + 'true_ay.eps'), 'Acceleration [g]') elif level == 3: # Acceleration in z p.visualize_dataframe(y, 'Filtered acceleration Z axis', str(path_converted + 'true_az.eps'), 'Acceleration [g]') elif level == 4: # Gyroscope in x p.visualize_dataframe(y, 'Filtered angular speed X axis', str(path_converted + 'true_gx.eps'), 'Angular speed [$deg/s$]') elif level == 5: # Gyroscope in y p.visualize_dataframe(y, 'Filtered angular speed Y axis', str(path_converted + 'true_gy.eps'), 'Angular speed [$deg/s$]') elif level == 6: # Gyroscope in z p.visualize_dataframe(y, 'Filtered angular speed Z axis', str(path_converted + 'true_gz.eps'), 'Angular speed [$deg/s$]') # If s1 and s2 are both non-stationary [I(1)], there exists a linear combination of them which is stationary if self.ADF(s1) and self.ADF(s2): # not stationary # Johansen l = 1 # Order of auto regression jres = self.get_johansen(y, l) print('\nCointegration vectors: ', jres.r) v0 = jres.evecr[:, 0] v1 = jres.evecr[:, 1] print(' -> First vector: ', v0) print(' -> Second vector: ', v1) s1_correct = np.dot(y.as_matrix(), v0) # stationary, after apply vector error correction s2_correct = np.dot(y.as_matrix(), v1) # stationary, after apply vector error correction xt, yt = s1_correct, s2_correct # Now, the time series are stationary # e, hat = self.calculate_regression(s1_correct, s2_correct) # Or by mean: hat = (s1_correct + s2_correct) / 2 e = (s1_correct + s2_correct) - hat else: xt, yt = s1, s2 e, hat = self.calculate_regression(s1, s2) # Calculate Variance and Standard Deviation of error var, sd = self.get_variance_and_standard_deviation(e) # Plot if level == 1: # Acceleration in x p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_ax.eps'), 'Stationary acceleration X axis', 'Acceleration [g]') elif level == 2: # Acceleration in y p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_ay.eps'), 'Stationary acceleration Y axis', 'Acceleration [g]') elif level == 3: # Acceleration in z p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_az.eps'), 'Stationary acceleration Z axis', 'Acceleration [g]') elif level == 4: # Gyroscope in x p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_gx.eps'), 'Stationary angular speed X axis', 'Angular speed [$deg/s$]') elif level == 5: # Gyroscope in y p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_gy.eps'), 'Stationary angular speed Y axis', 'Angular speed [$deg/s$]') elif level == 6: # Gyroscope in z p.errors_cointegration(xt, yt, hat, e, ti, str(path_coi + 'unit_root_gz.eps'), 'Stationary angular speed Z axis', 'Angular speed [$deg/s$]') return sd, hat
def main(path1, path2, title, xlabel, ylabel): p = Plot(path1, path2, title, xlabel, ylabel) p.plot()
from Image import Image from Fourier import Fourier from Plot import Plot im_1 = Image("images/flag.png", (200, 200)) im_2 = Image("images/text.png", (200, 200)) path_1 = im_1.sort() path_2 = im_2.sort() period_3, tup_circle_rads_3, tup_circle_locs_3 = Fourier( n_approx=1000, coord_1=path_1, coord_2=path_2).get_circles() Plot(period_3, tup_circle_rads_3, tup_circle_locs_3, speed=10).plot(close_after_animation=False)
easylearn = Autoeda(r'C:\Users\LENOVO\Desktop\titanic data\train.csv', r"C:\Users\LENOVO\Desktop\titanic data\test.csv", target ='Survived',uid = 'PassengerId', column_descriptions = { "Survived" : 'output' }) #easylearn.info() #easylearn.shape() easylearn.categorize() #print(easylearn.numerical_columns) #easylearn.train.head() #easylearn.Plot.histogram() # cont. plots ply=Plot(easylearn) #ply.spearman() #ply.dist() #ply.missing() #ply.histogram() #ply.Scatter() #ply.Boxplot() ply.pdfplot() #cat.plots cat=Categorical_plot(easylearn) cat.percentplot() #cat.countplot() #cat.mostFrequent() #cat.uniquevalue()
def onPlot(self, event): frame = Plot(self, 'Plot time series or histogram data.', self.application.state, self.figureNumber) frame.Show() # Add to the dictionary. self.children[frame.GetId()] = frame
def full_example(): ploter = Plot() num_of_start_population = 10 i = 2 min = -2 max = 2 chance_for_crossingover = 0.5 popul = population.Population([]) #step 1 - random start population for j in range(num_of_start_population): rand_arr = [random.uniform(min, max) for k in range(i)] popul.append([rand_arr]) #step 1b - calculate f_x ''' for j in range(num_of_start_population): popul.chromosome[j].f_x = functions.Goldstein_Price(popul.chromosome[j].x) ploter.addData('przed', popul.chromosome[j].f_x) print(popul.get_max_f_x()) #step 2 - make selection test_population = selection.Selection.proportional(popul) print(test_population) population_after_selection = population.Population(test_population) #step 3 - crossingover and mutation of best specimens in population #kryzwanie na wyseekcjonowanych rodziach #mutacje sie robi na potmokach(z krzyzywaonia) zeby je zmienic #ponizej testowo child_population = population.Population([]) for j in range(int(0.5*chance_for_crossingover*num_of_start_population)): rand_dad = random.randint(0, num_of_start_population-1) rand_mom = random.randint(0, num_of_start_population-1) kid = crossingovers.Crossingovers.aritmetic(population_after_selection.chromosome[rand_dad], population_after_selection.chromosome[rand_mom]) child_population.append(kid) child_population.append([population_after_selection.chromosome[rand_dad].x, population_after_selection.chromosome[rand_mom].x]) if child_population.size != num_of_start_population: rand_dad = random.randint(0, num_of_start_population-1) rand_mom = random.randint(0, num_of_start_population-1) child_population.append([population_after_selection.chromosome[rand_dad].x, population_after_selection.chromosome[rand_mom].x]) print(child_population) after_mutation = mutation.Mutation.reciprocal_exchange(0.5, child_population.array_of_float) child_population_after_mutation = population.Population(after_mutation) ploter.addKind('po') #step 3b - calculate f_x #for j in range(child_population_after_mutation.size): # child_population_after_mutation.chromosome[j].f_x = functions.Goldstein_Price(child_population_after_mutation.chromosome[j].x) # ploter.addData('po', child_population_after_mutation.chromosome[j].f_x) popul.add_child(child_population_after_mutation) #step 4 - stategis to choose new population from the old one popul = stategies.Strategies.full(popul) print(popul.chromosome[1].f_x) ''' func = functions.Goldstein_Price func_mutation = mutation.Mutation.reciprocal_exchange func_crossingovers = crossingovers.Crossingovers.aritmetic func_selection = selection.Selection.tournament computing_loop(func, popul, 10, ploter, 'Randomowa', 100, func_selection, 0.8, func_crossingovers, func_mutation, 0.8) ploter.showPlot() pass
for line in self._benchmarklines: line.Draw() if __name__ == "__main__": from Plot import Plot filename = "../data/ds_data18.root" h_bkg = Histo1D("h_bkg", "Background", 20, 0.0, 400.0) h_sig1 = Histo1D("h_sig1", "Signal 1", 20, 0.0, 400.0) h_sig2 = Histo1D("h_sig2", "Signal 2", 20, 0.0, 400.0) h_bkg.Fill(filename, tree="DirectStau", varexp="MET", weight="100.0/MET") h_sig1.Fill(filename, tree="DirectStau", varexp="MET", cuts="tau1Pt>600") h_sig2.Fill(filename, tree="DirectStau", varexp="MET", cuts="tau1Pt>800") h_sig1_props = dict(template="signal", linecolor=ROOT.kRed) h_sig2_props = dict(template="signal", linecolor=ROOT.kBlue) scan = SensitivityScan([(h_sig1, h_sig1_props), (h_sig2, h_sig2_props)], h_bkg) p = Plot(npads=2) p.Register(h_bkg, template="background", fillcolor=ROOT.kGray) p.Register(h_sig1, **h_sig1_props) p.Register(h_sig2, **h_sig2_props) p.Register(scan, 1, logy=False, ytitle="Z_{N}-value") p.Print("test_sensitivityscan.pdf")
def setupUi(self, Suppose): Suppose.setObjectName("Suppose") Suppose.resize(1128, 683) self.centralwidget = QtWidgets.QWidget(Suppose) self.centralwidget.setObjectName("centralwidget") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(760, 20, 241, 31)) font = QtGui.QFont() font.setPointSize(12) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.widget = Plot(self.centralwidget) self.widget.setGeometry(QtCore.QRect(350, 80, 731, 501)) self.widget.setObjectName("widget") self.layoutWidget = QtWidgets.QWidget(self.centralwidget) self.layoutWidget.setGeometry(QtCore.QRect(30, 20, 281, 351)) self.layoutWidget.setObjectName("layoutWidget") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget) self.verticalLayout.setContentsMargins(6, 0, 6, 0) self.verticalLayout.setObjectName("verticalLayout") self.label_8 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_8.sizePolicy().hasHeightForWidth()) self.label_8.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_8.setFont(font) self.label_8.setObjectName("label_8") self.verticalLayout.addWidget(self.label_8) self.spinBox = QtWidgets.QSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.spinBox.sizePolicy().hasHeightForWidth()) self.spinBox.setSizePolicy(sizePolicy) self.spinBox.setMinimum(1) self.spinBox.setMaximum(1000000000) self.spinBox.setObjectName("spinBox") self.verticalLayout.addWidget(self.spinBox) self.label_5 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_5.setFont(font) self.label_5.setObjectName("label_5") self.verticalLayout.addWidget(self.label_5) self.doubleSpinBox_7 = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_7.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_7.setSizePolicy(sizePolicy) self.doubleSpinBox_7.setMaximum(1000000000.0) self.doubleSpinBox_7.setProperty("value", 1.0) self.doubleSpinBox_7.setObjectName("doubleSpinBox_7") self.verticalLayout.addWidget(self.doubleSpinBox_7) self.label_6 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_6.sizePolicy().hasHeightForWidth()) self.label_6.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_6.setFont(font) self.label_6.setObjectName("label_6") self.verticalLayout.addWidget(self.label_6) self.doubleSpinBox_4 = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_4.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_4.setSizePolicy(sizePolicy) self.doubleSpinBox_4.setMaximum(10000000000.0) self.doubleSpinBox_4.setObjectName("doubleSpinBox_4") self.verticalLayout.addWidget(self.doubleSpinBox_4) self.label_7 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_7.setFont(font) self.label_7.setObjectName("label_7") self.verticalLayout.addWidget(self.label_7) self.doubleSpinBox_5 = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_5.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_5.setSizePolicy(sizePolicy) self.doubleSpinBox_5.setMaximum(1000000000.0) self.doubleSpinBox_5.setObjectName("doubleSpinBox_5") self.verticalLayout.addWidget(self.doubleSpinBox_5) self.label_4 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_4.sizePolicy().hasHeightForWidth()) self.label_4.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_4.setFont(font) self.label_4.setObjectName("label_4") self.verticalLayout.addWidget(self.label_4) self.doubleSpinBox_6 = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_6.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_6.setSizePolicy(sizePolicy) self.doubleSpinBox_6.setMaximum(1000000000.0) self.doubleSpinBox_6.setObjectName("doubleSpinBox_6") self.verticalLayout.addWidget(self.doubleSpinBox_6) self.label_11 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_11.setFont(font) self.label_11.setObjectName("label_11") self.verticalLayout.addWidget(self.label_11) self.doubleSpinBox_8 = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox_8.sizePolicy().hasHeightForWidth()) self.doubleSpinBox_8.setSizePolicy(sizePolicy) self.doubleSpinBox_8.setMaximum(1000000000.0) self.doubleSpinBox_8.setObjectName("doubleSpinBox_8") self.verticalLayout.addWidget(self.doubleSpinBox_8) self.label_2 = QtWidgets.QLabel(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.verticalLayout.addWidget(self.label_2) self.doubleSpinBox = QtWidgets.QDoubleSpinBox(self.layoutWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.doubleSpinBox.sizePolicy().hasHeightForWidth()) self.doubleSpinBox.setSizePolicy(sizePolicy) self.doubleSpinBox.setMaximum(1.0) self.doubleSpinBox.setSingleStep(0.01) self.doubleSpinBox.setProperty("value", 0.05) self.doubleSpinBox.setObjectName("doubleSpinBox") self.verticalLayout.addWidget(self.doubleSpinBox) self.layoutWidget1 = QtWidgets.QWidget(self.centralwidget) self.layoutWidget1.setGeometry(QtCore.QRect(30, 570, 291, 41)) self.layoutWidget1.setObjectName("layoutWidget1") self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget1) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.label = QtWidgets.QLabel(self.layoutWidget1) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label.setFont(font) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.lineEdit_6 = QtWidgets.QLineEdit(self.layoutWidget1) self.lineEdit_6.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_6.sizePolicy().hasHeightForWidth()) self.lineEdit_6.setSizePolicy(sizePolicy) self.lineEdit_6.setObjectName("lineEdit_6") self.horizontalLayout.addWidget(self.lineEdit_6) self.layoutWidget2 = QtWidgets.QWidget(self.centralwidget) self.layoutWidget2.setGeometry(QtCore.QRect(30, 450, 291, 41)) self.layoutWidget2.setObjectName("layoutWidget2") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget2) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label_3 = QtWidgets.QLabel(self.layoutWidget2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.horizontalLayout_2.addWidget(self.label_3) self.lineEdit_8 = QtWidgets.QLineEdit(self.layoutWidget2) self.lineEdit_8.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_8.sizePolicy().hasHeightForWidth()) self.lineEdit_8.setSizePolicy(sizePolicy) self.lineEdit_8.setMaxLength(5) self.lineEdit_8.setObjectName("lineEdit_8") self.horizontalLayout_2.addWidget(self.lineEdit_8) self.layoutWidget3 = QtWidgets.QWidget(self.centralwidget) self.layoutWidget3.setGeometry(QtCore.QRect(30, 390, 291, 41)) self.layoutWidget3.setObjectName("layoutWidget3") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.layoutWidget3) self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.label_9 = QtWidgets.QLabel(self.layoutWidget3) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.horizontalLayout_3.addWidget(self.label_9) self.lineEdit_9 = QtWidgets.QLineEdit(self.layoutWidget3) self.lineEdit_9.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_9.sizePolicy().hasHeightForWidth()) self.lineEdit_9.setSizePolicy(sizePolicy) self.lineEdit_9.setMaxLength(5) self.lineEdit_9.setObjectName("lineEdit_9") self.horizontalLayout_3.addWidget(self.lineEdit_9) self.layoutWidget_2 = QtWidgets.QWidget(self.centralwidget) self.layoutWidget_2.setGeometry(QtCore.QRect(30, 510, 291, 41)) self.layoutWidget_2.setObjectName("layoutWidget_2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.layoutWidget_2) self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.label_10 = QtWidgets.QLabel(self.layoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(11) self.label_10.setFont(font) self.label_10.setObjectName("label_10") self.horizontalLayout_4.addWidget(self.label_10) self.lineEdit_11 = QtWidgets.QLineEdit(self.layoutWidget_2) self.lineEdit_11.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_11.sizePolicy().hasHeightForWidth()) self.lineEdit_11.setSizePolicy(sizePolicy) self.lineEdit_11.setMaxLength(5) self.lineEdit_11.setObjectName("lineEdit_11") self.horizontalLayout_4.addWidget(self.lineEdit_11) self.lineEdit_10 = QtWidgets.QLineEdit(self.layoutWidget_2) self.lineEdit_10.setEnabled(False) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.lineEdit_10.sizePolicy().hasHeightForWidth()) self.lineEdit_10.setSizePolicy(sizePolicy) self.lineEdit_10.setMaxLength(5) self.lineEdit_10.setObjectName("lineEdit_10") self.horizontalLayout_4.addWidget(self.lineEdit_10) self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setGeometry(QtCore.QRect(440, 20, 241, 31)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12) self.comboBox.setFont(font) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") Suppose.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(Suppose) self.menubar.setGeometry(QtCore.QRect(0, 0, 1128, 22)) self.menubar.setObjectName("menubar") Suppose.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(Suppose) self.statusbar.setObjectName("statusbar") Suppose.setStatusBar(self.statusbar) self.retranslateUi(Suppose) QtCore.QMetaObject.connectSlotsByName(Suppose)
img = cv2.imread('./Images/HORSE.png', 0) img = cv2.resize(img, (300, 200)) _, edges = cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC) edges = cv2.GaussianBlur(edges, (5, 5), 0) #edges = cv2.erode(edges, None, iterations=1) edges = cv2.dilate(edges, None, iterations=1) edges = cv2.Canny(edges, 10, 120) #plt.imshow(edges,'gray') contours, __ = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) #the above snippet of the code, copied from the jupyter notebook im_1 = Image(contours) path_1 = im_1.sort() period_1, tup_circle_rads_1, tup_circle_locs_1 = Fourier( n_approx=1000, coord_1=path_1).get_circles() #Path to whereImageMagick is installed loc = 'C:\Program Files\ImageMagick-7.0.10-Q16-HDRI\magick.exe' if save_animate: Plot(period_1, tup_circle_rads_1, tup_circle_locs_1, speed=45).plot(save=True, ani_name=save_path, ImageMagickLoc=loc) else: Plot(period_1, tup_circle_rads_1, tup_circle_locs_1, speed=80).plot(close_after_animation=False)
def check_if_intersects(lines_list, max_y): lines_dictionary, q = read_lines_list(lines_list) start_points_used_dictionary = dict() end_points_used_dictionary = dict() for line in lines_dictionary: start_points_used_dictionary[line] = False end_points_used_dictionary[line] = False lines_collection = LinesCollection(lines_list) my_scene = Scene([], [lines_collection]) my_plot = Plot([my_scene]) #print("\n\nLines:") #for line in lines_list: # print(line) t = LinkedList(lines_dictionary) intersections_dictionary = dict() prev_point = None prev_line = None # Q: x->y while q.size > 0: event = q.findTheSmallest(q.root) point = (event.key, event.value) #print("\n-------------------------------------------------\n" + str(point), end="") # update T begin_line = is_start_point_checked(start_points_used_dictionary, point) end_line = [] if begin_line is None: end_line = is_end_point_checked(end_points_used_dictionary, point) if begin_line is not None: handle_line_begin_event(begin_line, t) #print("found line: " + str(begin_line)) elif end_line is not None: handle_line_end_event(end_line, t) #print("found line: " + str(end_line)) else: # intersection point handle_intersection_event(lines_dictionary, point, t, intersections_dictionary) # handle two line ends in the same point if prev_point == point: if end_line: #print("Two ends intersection in: " + str(point)) intersections_dictionary[point] = (prev_line, end_line) # update Q look_for_intersections(lines_dictionary, point, t, q, intersections_dictionary) q.delete(event.key, event.value) prev_line = end_line prev_point = point #print("\nintersections number: " + str(len(intersections_dictionary))) for intersection in intersections_dictionary: point = intersection line1 = intersections_dictionary[intersection][0] line2 = intersections_dictionary[intersection][1] #print(str(point) + " is intersection of " + str(line1) + " and " + str(line2)) new_line = [(point[0], max_y), (point[0], 1)] new_lines_collection = LinesCollection([new_line], color="red") points_collection = PointsCollection([point], color="green", marker="^") new_scene = Scene([points_collection], [lines_collection, new_lines_collection]) my_plot.add_scene(new_scene) my_plot.draw() return intersections_dictionary
def setupUi(self, Sd_chi_Form): Sd_chi_Form.setObjectName("Sd_chi_Form") Sd_chi_Form.resize(903, 511) font = QtGui.QFont() font.setPointSize(12) Sd_chi_Form.setFont(font) self.label_4 = QtWidgets.QLabel(Sd_chi_Form) self.label_4.setGeometry(QtCore.QRect(350, 10, 131, 31)) self.label_4.setObjectName("label_4") self.widget = Plot(Sd_chi_Form) self.widget.setGeometry(QtCore.QRect(360, 50, 511, 431)) self.widget.setObjectName("widget") self.widget1 = QtWidgets.QWidget(Sd_chi_Form) self.widget1.setGeometry(QtCore.QRect(10, 190, 341, 144)) self.widget1.setObjectName("widget1") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.radioButton_one = QtWidgets.QRadioButton(self.widget1) self.radioButton_one.setChecked(True) self.radioButton_one.setObjectName("radioButton_one") self.horizontalLayout_4.addWidget(self.radioButton_one) self.radioButton_few = QtWidgets.QRadioButton(self.widget1) self.radioButton_few.setObjectName("radioButton_few") self.horizontalLayout_4.addWidget(self.radioButton_few) self.verticalLayout_2.addLayout(self.horizontalLayout_4) self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.label_2 = QtWidgets.QLabel(self.widget1) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) self.spinBox_chi_n = QtWidgets.QSpinBox(self.widget1) self.spinBox_chi_n.setObjectName("spinBox_chi_n") self.horizontalLayout.addWidget(self.spinBox_chi_n) self.pushButton_chi_plot = QtWidgets.QPushButton(self.widget1) self.pushButton_chi_plot.setObjectName("pushButton_chi_plot") self.horizontalLayout.addWidget(self.pushButton_chi_plot) self.verticalLayout.addLayout(self.horizontalLayout) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.label = QtWidgets.QLabel(self.widget1) self.label.setObjectName("label") self.horizontalLayout_2.addWidget(self.label) self.doubleSpinBox_arfa = QtWidgets.QDoubleSpinBox(self.widget1) self.doubleSpinBox_arfa.setMinimum(0.01) self.doubleSpinBox_arfa.setMaximum(0.99) self.doubleSpinBox_arfa.setSingleStep(0.01) self.doubleSpinBox_arfa.setObjectName("doubleSpinBox_arfa") self.horizontalLayout_2.addWidget(self.doubleSpinBox_arfa) self.pushButton_quantile_plot = QtWidgets.QPushButton(self.widget1) self.pushButton_quantile_plot.setObjectName("pushButton_quantile_plot") self.horizontalLayout_2.addWidget(self.pushButton_quantile_plot) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.pushButton_quantile = QtWidgets.QPushButton(self.widget1) self.pushButton_quantile.setObjectName("pushButton_quantile") self.horizontalLayout_3.addWidget(self.pushButton_quantile) self.lineEdit_quantile = QtWidgets.QLineEdit(self.widget1) self.lineEdit_quantile.setReadOnly(True) self.lineEdit_quantile.setObjectName("lineEdit_quantile") self.horizontalLayout_3.addWidget(self.lineEdit_quantile) self.verticalLayout.addLayout(self.horizontalLayout_3) self.verticalLayout_2.addLayout(self.verticalLayout) self.retranslateUi(Sd_chi_Form) QtCore.QMetaObject.connectSlotsByName(Sd_chi_Form)
def Print(self, path, **kwargs): r"""Print the histogram to a file. Creates a PDF/PNG/... file with the absolute path defined by **path**. If a file with the same name already exists it will be overwritten (can be changed with the **overwrite** keyword argument). If **mkdir** is set to ``True`` (default: ``False``) directories in **path** with do not yet exist will be created automatically. The styling of the stack, pad and canvas can be configured via their respective properties passed as keyword arguments. Additional plots can be added to :class:`.Pad` s below the main one where the :class:`.Stack` object is drawn using the **ratio**, **contribution** and/or **sensitivity** flag (see below). :param path: path of the output file (must end with '.pdf', '.png', ...) :type path: ``str`` :param \**kwargs: :class:`.Stack`, :class:`.Plot`, :class:`.Canvas` and :class:`.Pad` properties + additional properties (see below) Keyword Arguments: * **sort** (``bool``) -- define whether the stack is sorted before it is drawn (see :func:`Stack.SetStackSorting`, default: ``True``) * **contribution** (``bool``) -- draw the relative per-bin contribution of each stacked histogram in an additional :class:`.Pad` (default: ``False``) * **ratio** (``bool``) -- draw a :class:`RatioPlot` of (assumed) data versus the (assumed) total background in an additional :class:`.Pad` (default: ``False``) * **sensitivity** (``bool``) -- draw a sensitivity scan for all (assumed) signal histograms and using the (asumed) total background as reference in an additional :class:`.Pad` (default: ``False``) * **inject<N>** (``list``, ``tuple``, ``ROOT.TObject``) -- inject a (list of) *drawable* :class:`ROOT` object(s) to pad **<N>** (default: 0), object properties can be specified by passing instead a ``tuple`` of the format :code:`(obj, props)` where :code:`props` is a ``dict`` holding the object properties (default: \[\]) * **overwrite** (``bool``) -- overwrite an existing file located at **path** (default: ``True``) * **mkdir** (``bool``) -- create non-existing directories in **path** (default: ``False``) """ from RatioPlot import RatioPlot from SensitivityScan import SensitivityScan from ContributionPlot import ContributionPlot sort = kwargs.pop("sort", True) contribution = kwargs.pop("contribution", False) ratio = kwargs.pop("ratio", False) sensitivity = kwargs.pop("sensitivity", False) if kwargs.get("drawstacksum"): self.SetDrawStackSum(kwargs.pop("drawstacksum")) injections = { k: kwargs.pop(k) for k in dict(kwargs).keys() if k.startswith("inject") } npads = sum([contribution, bool(ratio), bool(sensitivity)]) + 1 addcls = [RatioPlot] if ratio else [] addcls += [ContributionPlot] if contribution else [] addcls += [SensitivityScan] if sensitivity else [] properties = DissectProperties(kwargs, [Stack, Plot, Canvas, Pad] + addcls) self.BuildStack(sort=sort) if self.GetNhists() == 0: injections = {"inject0": injections.get("inject0", [])} if contribution: logger.warning("Cannot create ContributionPlot: Missing stack!") contribution = False if ratio: logger.warning("Cannot create RatioPlot: Missing stack!") ratio = False if sensitivity: logger.warning("Cannot create SensitivityScan: Missing stack!") sensitivity = False if ratio is True: try: # it's just a guess... datahisto = filter( lambda h: not h.GetDrawOption().upper().startswith("HIST"), self._store["nostack"], )[0] ratio = [datahisto, self._stacksumhisto] # overwrite boolean except IndexError: if self._store["nostack"]: ratio = [self._store["nostack"][0], self._stacksumhisto] else: logger.error( "Failed to identify appropriate numerator histogram for " "RatioPlot pad!" ) ratio = False if sensitivity: try: # again just making assumptions here... sensitivity = filter( lambda h: "HIST" in h.GetDrawOption().upper(), self._store["nostack"], # overwrite boolean with list of sig histos ) except IndexError: logger.error( "Failed to identify appropriate numerator histogram for " "SensitivityScan pad!" ) sensitivity = False plot = Plot(npads=npads, **properties["Plot"]) # Register the Stack to the upper Pad (pad=0): plot.Register(self, **MergeDicts(properties["Stack"], properties["Pad"])) if self._drawstacksum and self.GetNhists() > 1: # Dummy histo with the correct legend entry styling: htmp = Histo1D( "{}_legendentry".format(self._stacksumhisto.GetName()), self._stacksumhisto.GetTitle(), [ self._stacksumhisto._lowbinedges[0], self._stacksumhisto._lowbinedges[self._stacksumhisto._nbins], ], **{ k[8:]: v for k, v in DissectProperties( properties["Stack"], [ { "Stacksum": [ "stacksum{}".format(p) for p in Histo1D.GetListOfProperties() ] } ], )["Stacksum"].items() } ) plot.Register( htmp, fillcolor=self._stacksumhisto._errorband.GetFillColor(), fillstyle=self._stacksumhisto._errorband.GetFillStyle(), legenddrawoption=self._stacksumhisto.GetLegendDrawOption(), **properties["Pad"] ) idx = 1 xaxisprops = { k: v for k, v in properties["Pad"].items() if k in ["xtitle", "xunits"] } if contribution: contribplot = ContributionPlot(self) properties["ContributionPlot"].update( xaxisprops, **properties["ContributionPlot"] ) plot.Register( contribplot, pad=idx, ytitle="Contrib.", logy=False, ymin=0, ymax=1, **{k: v for k, v in properties["Pad"].items() if k.startswith("x")} ) idx += 1 if ratio: ratioplot = RatioPlot(*ratio, **properties["RatioPlot"]) properties["RatioPlot"].update(xaxisprops) plot.Register( ratioplot, pad=idx, ytitle="Data / SM", logy=False, ymin=0.2, ymax=1.8, **{k: v for k, v in properties["Pad"].items() if k.startswith("x")} ) idx += 1 if sensitivity: sensitivityscan = SensitivityScan( sensitivity, self._stacksumhisto, **properties["SensitivityScan"] ) properties["SensitivityScan"].update(xaxisprops) plot.Register( sensitivityscan, pad=idx, ytitle="Z_{A}-value", logy=False, **{k: v for k, v in properties["Pad"].items() if k.startswith("x")} ) plot.Print(path, **MergeDicts(properties["Canvas"], injections))
count = 0 sup_title = 'Transaction share varying' + \ '; Consumers: ' + str(consumers) + \ '; Restaurants: '+ str(restaurants) + \ '; Platforms: ' + str(platforms) + \ '; Runs: ' + str(runs) + \ '; Timesteps: ' + str(timesteps) fig, ax = plt.subplots(plot_dim[0], plot_dim[1]) fig.suptitle(sup_title) for ts in trans_sh: count += 1 print('count', count, 'ts', ts) r = Run(runs, timesteps, platforms, consumers, ts, restaurants) r.run() p = Plot(r) pos = np.where(axes_pos == count) pos = [int(pos[0]), int(pos[1])] print('Position:', pos) title = 'transaction share = ' + str(ts) print(title) ax[pos[0], pos[1]].set_title(title) ax[pos[0], pos[1]].set_ylim(0, ts * consumers) if pos[0] + 1 != plot_dim[0]: ax[pos[0], pos[1]].set_xticklabels([]) """else: print('lables should be set') ax[pos[0],pos[1]].set_xticklabels([str(0), str(timesteps)])""" p.stackplot_ax(r.trans_av, ax[pos[0], pos[1]])
from Fitbit import Fitbit from Database import Database from Plot import Plot import datetime db = Database() fitbit = Fitbit(db) plot = Plot() while True: date = input("Enter a date (YYYY-MM-DD): ") try: datetime.datetime.strptime(date, '%Y-%m-%d') except ValueError: print("Incorrect data format, should be YYYY-MM-DD") continue heartData = fitbit.getHeartIntradayRate(date) if heartData == None: print("No data returned for ", date) continue plot.plot(heartData)
def __init__(self): super(App, self).__init__() # load background self.background = Background(filename="background.png") # get array copy of background image self.background.arr = pygame.surfarray.array3d(self.background.img) # create bw from image _, self.background.arr_bw = cv2.threshold(self.background.arr[:, :, 0], 128, 1, cv2.THRESH_BINARY) # print self.background.arr_bw.shape, self.background.arr_bw.dtype # self.background.arr_dist = cv2.distanceTransform(self.background.arr_bw, cv.CV_DIST_L1, 3) # get nearest (zero) pixel labels with corresponding distances self.background.arr_dist, self.labels = cv2.distanceTransformWithLabels( self.background.arr_bw, cv.CV_DIST_L1, 3, labelType=cv2.DIST_LABEL_PIXEL) self.distances = self.background.arr_dist ### get x,y coordinates for each label # get positions of zero points zero_points = Utils.zero_points(self.background.arr_bw) # get labels for zero points zero_labels = self.labels[zero_points[:, 0], zero_points[:, 1]] # create dictionary mapping labels to zero point positions self.label_positions = dict( zip(zero_labels, zip(zero_points[:, 0], zero_points[:, 1]))) # create hilbert curve lookup table self.hilbert = Hilbert.hilbert_lookup(*self.background.arr.shape[:2]) # provide a rgb variant of dist for display self.background.arr_dist_rgb = self.background.arr.copy() self.background.arr_dist_rgb[:, :, 0] = self.background.arr_dist self.background.arr_dist_rgb[:, :, 1] = self.background.arr_dist self.background.arr_dist_rgb[:, :, 2] = self.background.arr_dist # print a.shape self.setup_pygame() self.events = Events() self.plt = Plot() self.lane = Lane(self.events) self.lane.load("parkour.sv") # self.lane.add_support_point(100,100) # self.lane.add_support_point(200,100) # self.lane.add_support_point(200,200) # self.lane.add_support_point(100,200) self.optimize = Optimize(self.lane) self.cars = [] self.cars.append(Car(x=100, y=100, theta=-45, speed=0)) # representation for actual car self.cars.append(Car(x=100, y=100, theta=-45 + 15, speed=0)) # representation for ins estimate self.cars.append( Car(x=100, y=100, theta=-45, speed=0) ) # representation for ins estimate xy optimization single pass self.cars.append( Car(x=100, y=100, theta=-45, speed=0) ) # representation for ins estimate xy optimization multi pass self.cars.append( Car(x=100, y=100, theta=-45, speed=0)) # representation for ins estimate theta optimization for car in self.cars: car.color = Draw.WHITE self.cars[2].color = Draw.YELLOW self.cars[3].color = Draw.RED self.cars[4].color = Draw.GREEN self.action = None self.dragdrop = DragAndDropController(self.events) self.controller = self.dragdrop # self.cars[0].camview = CamView(self.cars[0],self.background.arr) # self.cars[0].camview.register_events(self.events) self.cars[0].name = "actual" self.cars[1].name = "estimate" self.cars[2].name = "opt" self.cars[3].name = "opt*" self.cars[4].name = "theta" self.cars[0].controller = self.controller self.cars[1].controller = self.controller self.cars[0].camview = CamView(self.cars[0], self.background.arr) self.cars[2].controller = OptimizeNearestEdgeXYSinglePass( optimize=self.optimize, labels=self.labels, label_positions=self.label_positions, camview=self.cars[0].camview, estimate_car=self.cars[1]) self.cars[3].controller = OptimizeNearestEdgeXYMultiPass( optimize=self.optimize, labels=self.labels, label_positions=self.label_positions, camview=self.cars[0].camview, estimate_car=self.cars[1]) self.cars[4].controller = OptimizeThetaParable( optimize=self.optimize, distances=self.distances, camview=self.cars[0].camview, estimate_car=self.cars[3]) # self.cars[4].controller = OptimizeNearestEdgeTheta( # optimize = self.optimize, # labels = self.labels, # label_positions = self.label_positions, # hilbert = self.hilbert, # camview = self.cars[0].camview, # estimate_car = self.cars[1]) # self.window = Window(self.screen, self.events, 300, 200, "caption") self.done = False self.cursor = (0, 0) self.register_events() self.spin()
from Image import Image from Fourier import Fourier from Plot import Plot im_1 = Image("images/pikachu.png", (200, 200)) # im_2 = Image("images/einstein.jpg", (200, 200)) # im_3 = Image("images/formula.jpeg", (200, 200)) # im_4 = Image("images/dickbutt.jpg", (200, 200)) # im_5 = Image("images/obama.jpg", (200, 200)) path_1 = im_1.sort() # path_2 = im_2.sort() # path_3 = im_3.sort() # path_4 = im_4.sort() # path_5 = im_5.sort() period_1, tup_circle_rads_1, tup_circle_locs_1 = Fourier( n_approx=1000, coord_1=path_1).get_circles() # period_2, tup_circle_rads_2, tup_circle_locs_2 = Fourier(n_approx = 1000, coord_1 = path_2).get_circles(mode=2) # period_3, tup_circle_rads_3, tup_circle_locs_3 = Fourier(n_approx = 1000, coord_1 = path_3, coord_2 = path_4).get_circles() # period_4, tup_circle_rads_4, tup_circle_locs_4 = Fourier(coord_1 = path_5).get_circles() ##Plot(period_1, tup_circle_rads_1, tup_circle_locs_1, speed = 200).plot(save = True, ani_name = 'im_1.gif', ImageMagickLoc = 'C:\Program Files\ImageMagick-7.0.8-Q16/magick.exe') Plot(period_1, tup_circle_rads_1, tup_circle_locs_1, speed=200).plot(close_after_animation=True) #Plot(period_2, tup_circle_rads_2, tup_circle_locs_2, speed = 8).plot() # Plot(period_3, tup_circle_rads_3, tup_circle_locs_3, speed = 8).plot() # Plot(period_4, tup_circle_rads_4, tup_circle_locs_4, visualize = True).plot()
def bargraph_panel(request): try: data = [1, 2, 3, 4, 5] variableList = [ "", "mdn", "pon", "spi", "spei", "pdsi", "pzi", "scpdsi" ] if 'run_avg' in request.GET: run_avg = request.GET['run_avg'] if not run_avg: runAvg = 0 else: runAvg = int(run_avg) if 'lat' in request.GET: lat = request.GET['lat'] if not lat: lat = 40 else: lat = float(lat) if 'lon' in request.GET: lon = request.GET['lon'] if not lon: lon = -100 else: lon = float(lon) if 'start_year' in request.GET: startYear = request.GET['start_year'] if startYear < 1895: startYear = 1895 else: startYear = int(startYear) if 'end_year' in request.GET: endYear = request.GET['end_year'] endYear = int(endYear) #if endYear > datetime.datetime.now().year: # endYear = (datetime.datetime.now().year -1) #else: # endYear = int(endYear) #if 'variable' in request.GET: # variable = int(request.GET['variable']) # variable = variableList[variable] variable = int(request.GET['variable']) variable = variableList[variable] month = int(request.GET['month']) span = int(request.GET['span']) # Print PNG to page try: newPlot = Plot(lat=lat, lon=lon, startYear=startYear, endYear=endYear, variable=variable, month=month, span=span, runavg=runAvg, data=None) fig = newPlot.getData() canvas = FigureCanvas(fig) response = django.http.HttpResponse(content_type='image/png') canvas.print_png(response) return response except: return HttpResponse( "Plot feature under development for this location.") except: return HttpResponse("No data.")