Пример #1
0
    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)
Пример #2
0
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")
Пример #3
0
    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)
Пример #4
0
 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')
Пример #5
0
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)
Пример #7
0
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())
Пример #8
0
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)
Пример #11
0
def main():
    plt = Plot()
    window = Window(plt)
    window.pack()
    window.show()
Пример #12
0
    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)
Пример #13
0
    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)
Пример #14
0
    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
Пример #15
0
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)
Пример #17
0

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()
Пример #18
0
 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
Пример #19
0
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
Пример #20
0
        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)
Пример #22
0
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)
Пример #23
0
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
Пример #24
0
    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)
Пример #25
0
    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]])
Пример #27
0
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)
Пример #28
0
    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()
Пример #29
0
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()
Пример #30
0
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.")