Ejemplo n.º 1
0
    def __init__(self):
        self.r = QtWidgets.QDoubleSpinBox(Form)
        self.label_4 = QtWidgets.QLabel(Form)
        self.label_3 = QtWidgets.QLabel(Form)
        self.L = QtWidgets.QDoubleSpinBox(Form)
        self.btn_pause = QtWidgets.QPushButton(Form)
        self.btn_start = QtWidgets.QPushButton(Form)
        self.label_2 = QtWidgets.QLabel(Form)
        self.R = QtWidgets.QDoubleSpinBox(Form)
        self.label = QtWidgets.QLabel(Form)
        self.M = QtWidgets.QDoubleSpinBox(Form)
        self.chartView = QtChart.QChartView(Form)
        self.chartView.setRenderHint(QtGui.QPainter.Antialiasing)

        self.chart = self.chartView.chart()
        self.chart.legend().setVisible(False)
        self.axisX = QtChart.QValueAxis()
        self.axisY = QtChart.QValueAxis()

        self.axis_series = QtChart.QLineSeries()
        self.ring_series = QtChart.QLineSeries()
        self.rope_series = QtChart.QLineSeries()
        self.dot_series = QtChart.QScatterSeries()

        self.timer = QtCore.QTimer()
        self.timer.setInterval(100)
        self.total_time = .0

        self.runge_kutta = ode(self.f)
        self.runge_kutta.set_integrator('dopri5')

        self.dest = +1
        self.flag = True
Ejemplo n.º 2
0
 def __init__(self):
     super(LineChart, self).__init__()
     chart = QtChart.QChart()
     # 线1
     series1 = QtChart.QLineSeries()
     series2 = QtChart.QLineSeries()
     series1.append(0, 5)
     series1.append(1, 3)
     series1.append(2, 2)
     series1.append(4, 4)
     # 线2
     series2.append(0, 2)
     series2.append(1, 3)
     series2.append(2, 5)
     series2.append(4, 3)
     # 加入线
     chart.addSeries(series1)
     chart.addSeries(series2)
     # 设置
     chart.setTitle('QChart做折线图')
     chart.createDefaultAxes()  # 设置默认坐标
     series1.setName('梨')  # 设置图例
     series2.setName('苹果')  # 设置图例
     self.setRenderHint(QPainter.Antialiasing)  # 抗锯齿
     # 显示图表
     self.setChart(chart)
Ejemplo n.º 3
0
 def __init__(self):
     super().__init__()
     self.true_range_line = QtChart.QLineSeries()
     self.true_range_line.setColor(QtCore.Qt.yellow)
     self.addSeries(self.true_range_line)
     self.true_range_avg = QtChart.QLineSeries()
     self.true_range_avg.setColor(QtCore.Qt.blue)
     self.addSeries(self.true_range_avg)
Ejemplo n.º 4
0
 def __init__(self):
     super().__init__()
     self.adx = QtChart.QLineSeries()
     self.adxr = QtChart.QLineSeries()
     self.adx.setColor(QtCore.Qt.magenta)
     self.adxr.setColor(QtCore.Qt.blue)
     self.addSeries(self.adx)
     self.addSeries(self.adxr)
Ejemplo n.º 5
0
    def plot_clicked(self):
        """

        :return:
        """

        if self.__data is None:
            QtWidgets.QMessageBox.critical(self, "Error Plotting Data",
                                           "Need to import data first.")
            return

        psi_series = QtChart.QLineSeries()
        psi_series.setName("Pressure")
        for ts, p in self.__data.pressure.iteritems():
            psi_series.append(time.mktime(ts.timetuple()) * 1000, p)

        temp_series = QtChart.QLineSeries()
        temp_series.setName("Temperature")
        for ts, t in self.__data.temperature.iteritems():
            temp_series.append(time.mktime(ts.timetuple()) * 1000, t)

        chart = QtChart.QChart()
        chart.addSeries(psi_series)
        chart.addSeries(temp_series)

        x_axis = QtChart.QDateTimeAxis()
        x_axis.setTickCount(10)
        x_axis.setFormat("HH:mm:ss")
        x_axis.setTitleText("Time")
        chart.addAxis(x_axis, QtCore.Qt.AlignBottom)
        psi_series.attachAxis(x_axis)

        psi_axis = QtChart.QValueAxis()
        psi_axis.setLabelFormat("%i")
        psi_axis.setTitleText("Pressure (psi)")
        chart.addAxis(psi_axis, QtCore.Qt.AlignLeft)
        psi_series.attachAxis(psi_axis)

        temp_axis = QtChart.QValueAxis()
        temp_axis.setLabelFormat("%.2f")
        temp_axis.setTitleText("Temperature (C)")
        chart.addAxis(temp_axis, QtCore.Qt.AlignLeft)
        temp_series.attachAxis(temp_axis)

        chart.setTitle("Pressure Test %s" % (self.testReportLineEdit.text()))

        view = QtChart.QChartView(chart)
        view.setRenderHint(QtGui.QPainter.Antialiasing)

        dialog = QtWidgets.QDialog(self)
        layout = QtWidgets.QVBoxLayout()
        layout.addWidget(view)
        dialog.setLayout(layout)
        dialog.resize(1000, 800)

        dialog.show()
Ejemplo n.º 6
0
    def __init__(self, name):
        super().__init__()
        # self.setParent(parent)
        self.chart = qtch.QChart(title=name)
        self.setChart(self.chart)

        self.series = qtch.QLineSeries(name='Counts')
        self.chart.addSeries(self.series)

        self.ydata = []
        self.xdata = []
        self.series.append([
            qtc.QPointF(x, self.ydata[index])
            for index, x in enumerate(self.xdata)
        ])

        x_axis = qtch.QValueAxis()
        x_axis.setRange(0, 10)
        y_axis = qtch.QLogValueAxis()
        y_axis.setBase(10)
        y_axis.setRange(1, self.max)

        self.chart.setAxisX(x_axis, self.series)
        self.chart.setAxisY(y_axis, self.series)
        self.chart.setTheme(qtch.QChart.ChartThemeDark)
        self.setRenderHint(qtg.QPainter.Antialiasing)
Ejemplo n.º 7
0
    def __init__(self, xData: list,
                 yData: list,
                 xLabel: str,
                 yLabel: str) -> None:

        super(ExamplePlot, self).__init__()

        if len(xData) != len(yData):
            warn("Length of x and y data does not match.")
            return

        yData_norm = yData / max(yData)

        series = QtChart.QLineSeries()

        for x, y in zip(xData, yData_norm):
            series.append(x, y)

        x_min = min(xData)
        x_max = max(xData)
        y_min = min(yData_norm)
        y_max = max(yData_norm)
        print("x_min = {}, x_max = {}, y_min = {}, y_max = {}".format(x_min, x_max, y_min, y_max))

        # chart = QtChart.QChart()

        self.chart().addSeries(series)
        self.chart().createDefaultAxes()
        self.chart().axisX(series).setTitleText(xLabel)
        self.chart().axisY(series).setTitleText(yLabel)
        self.chart().axisY(series).setRange(y_min, y_max)
        self.show()
Ejemplo n.º 8
0
    def __init__(self, data):
        self.data = data
        self.app = QApplication(sys.argv)

        self.series = QtChart.QCandlestickSeries()
        self.series.setDecreasingColor(Qt.red)
        self.series.setIncreasingColor(Qt.green)

        self.ma5 = qc.QLineSeries() 
        self.tm = []

        for num, o, h, l, c, m in self.data:
            self.series.append(QtChart.QCandlestickSet(o, h, l, c))
            self.ma5.append(QPointF(num, m))
            self.tm.append(str(num))

        self.chart = QtChart.QChart()

        self.chart.addSeries(self.series)  # candle
        self.chart.addSeries(self.ma5)  # ma5 line

        self.chart.createDefaultAxes()
        self.chart.legend().hide()

        self.chart.axisX(self.series).setCategories(self.tm)
        self.chart.axisX(self.ma5).setVisible(False)

        self.chartview = QtChart.QChartView(self.chart)
        self.ui = QMainWindow()
        self.ui.setGeometry(50, 50, 500, 300)
        self.ui.setCentralWidget(self.chartview)
        self.ui.show()
        sys.exit(self.app.exec_())
Ejemplo n.º 9
0
Archivo: main.py Proyecto: yurihs/snifc
    def _append_pacote_grafico(self, pacote):
        """
        Adiciona um pacote no gráfico.

        Args:
            pacote

        """

        # Obter os objetos existentes
        chart = self.graficoNumPacotes.chart()
        series = chart.series()

        if len(series) == 0:
            # Ainda não há nenhuma informação no gráfico.
            # Adicionar uma nova série de dados.
            curve = QtChart.QLineSeries()
            curve.append(QtCore.QPointF(curve.count(), float(pacote[-1])))
            chart.addSeries(curve)
            chart.createDefaultAxes()
        else:
            # Anexar o novo pacote na série existente.
            curve = series[0]
            curve.append(QtCore.QPointF(curve.count(), float(pacote[-1])))

            # Reajustar a escala dos eixos para mostrar todos os pontos.
            max_y = max(p.y() for p in curve.pointsVector())
            chart.axisX().setRange(0, curve.count()-1)
            chart.axisY().setRange(0, max(max_y, float(pacote[-1]))*2)
Ejemplo n.º 10
0
    def __init__(self):
        super(XAxis, self).__init__()
        # 创建图表
        chart = QtChart.QChart()
        chart.setTitle('自定义X轴')
        data_table = random_data_table()  # 获取随机生成的数据作图
        for i, data_list in enumerate(data_table):
            series = QtChart.QLineSeries()
            for value, name in data_list:
                series.append(*value)
            series.setName("Series " + str(i))
            chart.addSeries(series)
        chart.createDefaultAxes()
        # 自定义x轴
        series = chart.series()

        axis = QtChart.QCategoryAxis(
            chart,
            labelsPosition=QtChart.QCategoryAxis.AxisLabelsPositionOnValue)
        min_x = chart.axisX().min()
        max_x = chart.axisX().max()
        tick_count = chart.axisX().tickCount()
        if tick_count < 2:
            axis.append("LABEL0", min_x)
        else:
            step_x = (max_x - min_x) / (tick_count - 1)
            for i in range(tick_count):
                axis.append("LABEL%s" % i, min_x + i * step_x)
        chart.setAxisX(axis, series[0])
        # 图表加入容器
        self.setChart(chart)
Ejemplo n.º 11
0
 def _plot(self):
     series = QtChart.QLineSeries()
     if self.radioButton_Absorbance.isChecked():
         if self.scan.WaveLength != [] and self.scan.Absorbance != []:
             self.axisY.setTitleText("Absorbance")
             self.axisY.setRange(-1, 5)
             for x, y in zip(self.scan.WaveLength, self.scan.Absorbance):
                 series.append(x, y)
     elif self.radioButton_Intensity.isChecked():
         if self.scan.WaveLength != [] and self.scan.Intensities != []:
             min_value = min(self.scan.Intensities)
             max_value = max(self.scan.Intensities)
             self.axisY.setTitleText("Intensity")
             self.axisY.setRange(min_value - 100, max_value + 100)
             for x, y in zip(self.scan.WaveLength, self.scan.Intensities):
                 series.append(x, y)
     elif self.radioButton_Reflectance.isChecked():
         if self.scan.WaveLength != [] and self.scan.Reflectance != []:
             self.axisY.setTitleText("Reflectance")
             self.axisY.setRange(-1, 1)
             for x, y in zip(self.scan.WaveLength, self.scan.Reflectance):
                 series.append(x, y)
     elif self.radioButton_Reference.isChecked():
         if self.scan.WaveLength != [] and self.scan.ReferenceIntensity != []:
             min_value = min(self.scan.ReferenceIntensity)
             max_value = max(self.scan.ReferenceIntensity)
             self.axisY.setTitleText("Reference")
             self.axisY.setRange(min_value - 1000, max_value * 1.1)
             for x, y in zip(self.scan.WaveLength, self.scan.ReferenceIntensity):
                 series.append(x, y)
     self.chart.addSeries(series)
     self.chart.setAxisY(self.axisY, series)
     self.chartView.setChart(self.chart)
Ejemplo n.º 12
0
    def add_series(self,name,columns):
        self.series = QtChart.QLineSeries()
        self.series.setName(name)

        for i in range(self.model.rowCount()):
            t = self.model.index(i,0).data()
            date_fmt = "yyyy-MM-dd HH:mm:ss.zzz"

            x = QtCore.QDateTime().fromString(t,date_fmt).toSecsSinceEpoch()
            y = float(self.model.index(i,1).data())

            if x > 0 and y > 0:
                self.series.append(x,y)

        self.chart.addSeries(self.series)

        self.axis_x = QtChart.QDateTimeAxis()
        self.axis_x.setTickCount(10)
        self.axis_x.setFormat("dd.MM (h:mm)")
        self.axis_x.setTitleText("Date")
        self.chart.addAxis(self.axis_x,QtCore.Qt.AlignBottom)
        self.series.attachAxis(self.axis_x)

        self.axis_y = QtChart.QValueAxis()
        self.axis_y.setTickCount(10)
        self.axis_y.setLabelFormat("%.2f")
        self.axis_y.setTitleText("Magnitude")
        self.chart.addAxis(self.axis_y,QtCore.Qt.AlignLeft)
        self.series.attachAxis(self.axis_y)

        self.model.color = "{}".format(self.series.pen().color().name())
Ejemplo n.º 13
0
    def __init__(self):
        self.check_box = QtWidgets.QCheckBox()
        self.check_box.setCheckState(QtCore.Qt.Checked)
        self.check_box.stateChanged.connect(self._check_changed)

        self.scaling_spin_box = QtWidgets.QDoubleSpinBox()
        # TODO: set a useful width without limiting the range
        # self.scaling_spin_box.setRange(-math.inf, math.inf)
        self.scaling_spin_box.setRange(-100000, 100000)
        self.scaling_spin_box.setDecimals(3)
        self.scaling_spin_box.setValue(1)
        self.scaling_spin_box.valueChanged.connect(self.scaling_changed)

        self.chart = QtChart.QChart()
        self.series = QtChart.QLineSeries()
        self.chart.addSeries(self.series)
        self.chart.createDefaultAxes()

        # self.chart.plotAreaChanged.connect(self._plot_area_changed)
        self.original_area = None

        self.view = QtChart.QChartView(self.chart)
        self.view_filters = make_chart_view_zoomable(self.view)

        self._name = None
        self.name = '<unnamed>'

        self.data = ()
Ejemplo n.º 14
0
 def addChart(self, radius, profile, type="line"):
     series = QtChart.QLineSeries()
     self.currentRadius = []
     self.currentProfile = []
     for x, y in zip(radius, profile):
         series.append(x, y)
         self.currentRadius.append(x)
         self.currentProfile.append(y)
     self.profileChart = QtChart.QChart()
     self.profileChart.setTheme(self.theme)
     self.profileChart.setBackgroundRoundness(0)
     self.profileChart.setMargins(QtCore.QMargins(0, 0, 0, 0))
     self.profileChart.removeAllSeries()
     self.profileChart.addSeries(series)
     axisX = QtChart.QValueAxis()
     axisX.setTickCount(10)
     if type == "line" or type == "rectangle":
         axisX.setTitleText("K (\u212B\u207B\u00B9)")
     elif type == "arc":
         axisX.setTitleText("\u03A7 (\u00BA)")
     axisY = QtChart.QValueAxis()
     axisY.setTickCount(10)
     axisY.setTitleText("Intensity (arb. units)")
     self.profileChart.addAxis(axisX, QtCore.Qt.AlignBottom)
     self.profileChart.addAxis(axisY, QtCore.Qt.AlignLeft)
     series.attachAxis(axisX)
     series.attachAxis(axisY)
     self.profileChart.legend().setVisible(False)
     self.setChart(self.profileChart)
     self.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
Ejemplo n.º 15
0
    def __init__(self):
        self.check_box = QtWidgets.QCheckBox()
        self.check_box.setCheckState(QtCore.Qt.Checked)
        self.check_box.stateChanged.connect(self._check_changed)

        self.scaling_spin_box = QtWidgets.QDoubleSpinBox()
        # TODO: set a useful width without limiting the range
        # self.scaling_spin_box.setRange(-math.inf, math.inf)
        self.scaling_spin_box.setRange(-100000, 100000)
        self.scaling_spin_box.setDecimals(3)
        self.scaling_spin_box.setValue(1)
        self.scaling_spin_box.valueChanged.connect(self.scaling_changed)

        self.chart = QtChart.QChart()
        self.series = QtChart.QLineSeries()
        self.chart.addSeries(self.series)
        self.chart.createDefaultAxes()

        # self.chart.plotAreaChanged.connect(self._plot_area_changed)
        self.original_area = None

        self.view = QtChart.QChartView(self.chart)
        self.view_filters = make_chart_view_zoomable(self.view)

        reference_height = self.check_box.minimumSizeHint().height()
        reference_height += self.scaling_spin_box.minimumSizeHint().height()
        self.view.setMinimumHeight(6 * reference_height)
        view_size_policy = self.view.sizePolicy()
        view_size_policy.setVerticalPolicy(view_size_policy.Minimum)

        self._name = None
        self.name = "<unnamed>"

        self.data = ()
Ejemplo n.º 16
0
 def __init__(self):
     super(YAxis, self).__init__()
     # 创建图表
     chart = QtChart.QChart()
     chart.setTitle('自定义添加右侧Y轴')
     data_table = random_data_table()  # 获取随机生成的数据作图
     for i, data_list in enumerate(data_table):
         series = QtChart.QLineSeries()
         for value, name in data_list:
             series.append(*value)
         series.setName("Series " + str(i))
         chart.addSeries(series)
     chart.createDefaultAxes()
     # 自定义y轴
     series = chart.series()
     y_category = ['周%d' % i for i in range(1, 8)]
     axisy = QtChart.QCategoryAxis(
         chart,
         labelsPosition=QtChart.QCategoryAxis.AxisLabelsPositionOnValue)
     axisy.setGridLineVisible(False)
     axisy.setTickCount(len(y_category))
     min_y = chart.axisY().min()
     max_y = chart.axisY().max()
     tick_count = axisy.tickCount()
     if tick_count < 2:
         axisy.append(y_category[0])
     else:
         step_y = (max_y - min_y) / (tick_count - 1)
         for i in range(tick_count):
             axisy.append(y_category[i], min_y + step_y * i)
     chart.addAxis(axisy, Qt.AlignRight)  # 在右侧添加轴
     series[0].attachAxis(axisy)
     self.setChart(chart)
Ejemplo n.º 17
0
def plot_candlechart(ohlc_data):
    app = ParaMakerApplication([])
    #app.setStyleSheet("background-color:black;")

    series = QCandlestickSeries()
    series.setBodyOutlineVisible(False)
    series.setDecreasingColor(Qt.red)
    series.setIncreasingColor(Qt.green)

    rsi = qc.QLineSeries()  # 5-days average data line
    rsi.append(QPointF(ohlc_data[300].timestamp, ohlc_data[300].closed))
    rsi.append(QPointF(ohlc_data[700].timestamp, ohlc_data[700].closed))
    #rsi.append(QPointF(ohlc_data[150].timestamp, ohlc_data[100].closed))
    tm = []  # stores str type data
    # in a loop,  series and rsi append corresponding data
    for candle in ohlc_data:
        series.append(
            QCandlestickSet(candle.opened, candle.high, candle.low,
                            candle.closed))
        #rsi.append(QPointF(num, m))
        tm.append(str(candle.timestamp))
        #rsi.append(str(candle.timestamp))

    #rsi_values = calculate_rsi(14, ohlc_data)

    chart = QChart()
    chart.setBackgroundVisible(False)
    chart.setPlotAreaBackgroundVisible(False)
    chart.addSeries(series)  # candle
    chart.addSeries(rsi)  # rsi line

    #chart.axisX(rsi).setRange(ohlc_data[0].timestamp, ohlc_data[-1].timestamp)

    chart.createDefaultAxes()

    axisXRSI = QValueAxis()
    axisYRSI = QValueAxis()
    axisXRSI.setRange(ohlc_data[0].timestamp, ohlc_data[-1].timestamp)
    axisYRSI.setRange(ohlc_data[0].closed, ohlc_data[-1].closed)
    axisXRSI.setGridLineVisible(False)
    axisYRSI.setGridLineVisible(False)

    chart.setAxisX(axisXRSI, rsi)
    chart.setAxisY(axisYRSI, rsi)

    chart.legend().hide()

    chart.axisX(series).setCategories(tm)
    #chart.axisX(series).setGridLineVisible(False)
    #chart.axisY(series).setGridLineVisible(False)
    ###chart.axisX(rsi).setVisible(False)

    chartview = QChartView(chart)
    chartview.setRenderHint(QPainter.Antialiasing)
    ui = ParaMakerWindow()
    ui.setCentralWidget(chartview)
    sys.exit(app.exec_())
Ejemplo n.º 18
0
 def SetLineSeriesData(self, data_list, chart_name=''):
     self.chart = QtChart.QChart()
     for data_lines in data_list:
         series = QtChart.QLineSeries()
         for index in range(len(data_lines)):
             series.append(index, data_lines[index])
         self.chart.addSeries(series)
     self.chart.setTitle(chart_name)
     self.chart.createDefaultAxes()
    def __init__(self):
        super().__init__()
        # add color area
        self.top_line = QtChart.QLineSeries()
        self.bottom_line = QtChart.QLineSeries()
        self.top_line.setColor(QtGui.QColor(0, 127, 255, 100))
        self.bottom_line.setColor(QtGui.QColor(0, 127, 255, 100))
        self.area = QtChart.QAreaSeries(self.top_line, self.bottom_line)
        self.area.setColor(QtGui.QColor(0, 127, 255, 30))
        self.area.setBorderColor(QtGui.QColor(0, 127, 255, 30))
        self.addSeries(self.area)

        self.cci = QtChart.QLineSeries()
        pen = QtGui.QPen(QtCore.Qt.SolidLine)
        pen.setWidthF(0.75)
        pen.setColor(QtCore.Qt.magenta)
        self.cci.setPen(pen)
        self.addSeries(self.cci)
Ejemplo n.º 20
0
    def __init__(self):
        super().__init__()
        # add color area
        self.top_line = QtChart.QLineSeries()
        self.bottom_line = QtChart.QLineSeries()
        self.top_line.setColor(QtGui.QColor(0, 102, 85, 150))
        self.bottom_line.setColor(QtGui.QColor(0, 102, 85, 150))
        self.area = QtChart.QAreaSeries(self.top_line, self.bottom_line)
        self.area.setColor(QtGui.QColor(0, 102, 85, 60))
        self.area.setBorderColor(QtGui.QColor(0, 102, 85, 60))
        self.addSeries(self.area)

        self.index_line = QtChart.QLineSeries()
        pen = QtGui.QPen(QtCore.Qt.SolidLine)
        pen.setWidthF(0.75)
        pen.setColor(QtCore.Qt.green)
        self.index_line.setPen(pen)
        self.addSeries(self.index_line)
Ejemplo n.º 21
0
    def __init__(self):
        super().__init__()
        # add color area
        self.top_line = QtChart.QLineSeries()
        self.bottom_line = QtChart.QLineSeries()
        self.top_line.setColor(QtGui.QColor(0, 127, 255, 150))
        self.bottom_line.setColor(QtGui.QColor(0, 127, 255, 150))
        self.area = QtChart.QAreaSeries(self.top_line, self.bottom_line)
        self.area.setColor(QtGui.QColor(0, 127, 255, 35))
        self.area.setBorderColor(QtGui.QColor(0, 127, 255, 35))
        self.addSeries(self.area)

        self.fastK = QtChart.QLineSeries()
        self.fastD = QtChart.QLineSeries()
        self.fastK.setColor(QtCore.Qt.magenta)
        self.fastD.setColor(QtCore.Qt.blue)
        self.addSeries(self.fastK)
        self.addSeries(self.fastD)
Ejemplo n.º 22
0
    def init_graph(self):
        if self.ui.acc_graph_placeholder.layout() is None:
            acc_chart_Layout = QtWidgets.QVBoxLayout()
            loss_chart_Layout = QtWidgets.QVBoxLayout()
            self.ui.acc_graph_placeholder.setLayout(acc_chart_Layout)
            self.ui.loss_graph_placeholder.setLayout(loss_chart_Layout)

            acc_chart = QtChart.QChart()
            loss_chart = QtChart.QChart()

            self.acc_chart_view = QtChart.QChartView(acc_chart)
            self.acc_chart_view.setRenderHint(QtGui.QPainter.Antialiasing)

            self.loss_chart_view = QtChart.QChartView(loss_chart)
            self.loss_chart_view.setRenderHint(QtGui.QPainter.Antialiasing)

            acc_chart_Layout.addWidget(self.acc_chart_view)
            loss_chart_Layout.addWidget(self.loss_chart_view)

            self.acc_chart_view.show()
            self.loss_chart_view.show()

        else:
            acc_chart = self.acc_chart_view.chart()
            loss_chart = self.loss_chart_view.chart()

        self.acc_serie = QtChart.QLineSeries()
        self.acc_serie.setName("train_acc")
        self.val_acc_serie = QtChart.QLineSeries()
        self.val_acc_serie.setName("val_acc")
        self.loss_serie = QtChart.QLineSeries()
        self.loss_serie.setName("loss")
        self.val_loss_serie = QtChart.QLineSeries()
        self.val_loss_serie.setName("val_loss")
        acc_chart.addSeries(self.acc_serie)
        acc_chart.addSeries(self.val_acc_serie)
        loss_chart.addSeries(self.loss_serie)
        loss_chart.addSeries(self.val_loss_serie)

        acc_chart.createDefaultAxes()
        loss_chart.createDefaultAxes()

        acc_chart.axisX().setRange(0, self.current_epoch)
        loss_chart.axisX().setRange(0, self.current_epoch)
Ejemplo n.º 23
0
    def SetLineSeries(self, data_x, data_y, data_y_2=None, chart_name=''):
        self.chart = QtChart.QChart()
        #self.chart.setTheme(QtChart.QChart.ChartThemeDark)

        series = QtChart.QLineSeries()
        for index in range(len(data_y)):
            series.append(index, data_y[index])
        self.chart.addSeries(series)

        axisX = QtChart.QCategoryAxis()
        axisX.setRange(-1, len(data_y) + 1)
        axisX.setStartValue(0)
        for index in range(0, len(data_x)):
            axisX.append(data_x[index], index)
        axisX.setLabelsAngle(90)
        #axisX.setTickCount(10)
        axisX.setLabelsPosition(
            QtChart.QCategoryAxis.AxisLabelsPositionOnValue)
        #self.chart.setAxisX(axisX,series)
        self.chart.addAxis(axisX, QtCore.Qt.AlignBottom)

        series.attachAxis(axisX)

        axisY = QtChart.QValueAxis()
        axisY.setRange(data_y.min(), data_y.max())
        axisY.setTickCount(10)
        self.chart.addAxis(axisY, QtCore.Qt.AlignLeft)
        #self.chart.setAxisY(axisY,series)
        series.attachAxis(axisY)

        if data_y_2 is not None:
            axisY2 = QtChart.QValueAxis()
            axisY2.setRange(data_y_2.min(), data_y_2.max())
            axisY2.setTickCount(10)
            self.chart.addAxis(axisY2, QtCore.Qt.AlignRight)
            series2 = QtChart.QLineSeries()
            for index in range(len(data_y_2)):
                series2.append(index, data_y_2[index])
            self.chart.addSeries(series2)
            series2.attachAxis(axisX)
            series2.attachAxis(axisY2)

        self.chart.setTitle(chart_name)
Ejemplo n.º 24
0
 def add_series(self, name=None):
     # add a series
     series = QtChart.QLineSeries()
     self.chart.addSeries(series)
     series.attachAxis(self.x_axis)
     series.attachAxis(self.y_axis)
     series.setUseOpenGL(True)
     if name:
         series.setName(name)
     self.series.append(series)
Ejemplo n.º 25
0
 def create_chart(self):
     self.chart.setTitle("Chart Print Preview and Print Example")
     for i in range(5):
         series = QtChart.QLineSeries()
         series.setName("Line {}".format(i + 1))
         series.append(0, 0)
         for i in range(1, 10):
             series.append(i, random.randint(1, 9))
         series.append(10, 10)
         self.chart.addSeries(series)
     self.chart.createDefaultAxes()
Ejemplo n.º 26
0
	def __init__(self, title='', labelx='x', labely='y', flags=None, *args, **kwargs):
		super().__init__(flags, *args, **kwargs)
		
		self.labelx = labelx
		self.labely = labely
		
		self.setTitle(title)
		self.setAnimationOptions(QChart.NoAnimation)
		self.setAxis()

		self.series_ = series = QtChart.QLineSeries()
Ejemplo n.º 27
0
    def __init__(self):
        self.W = QtWidgets.QDoubleSpinBox(Form)
        self.H = QtWidgets.QDoubleSpinBox(Form)
        self.label_25 = QtWidgets.QLabel(Form)
        self.label_24 = QtWidgets.QLabel(Form)
        self.label_23 = QtWidgets.QLabel(Form)
        self.label_22 = QtWidgets.QLabel(Form)
        self.dY = QtWidgets.QDoubleSpinBox(Form)
        self.mu = QtWidgets.QDoubleSpinBox(Form)
        self.label_21 = QtWidgets.QLabel(Form)
        self.dX = QtWidgets.QDoubleSpinBox(Form)
        self.label_20 = QtWidgets.QLabel(Form)
        self.label_19 = QtWidgets.QLabel(Form)
        self.label_18 = QtWidgets.QLabel(Form)
        self.label_17 = QtWidgets.QLabel(Form)
        self.label_16 = QtWidgets.QLabel(Form)
        self.M = QtWidgets.QDoubleSpinBox(Form)
        self.k4 = QtWidgets.QDoubleSpinBox(Form)
        self.label_15 = QtWidgets.QLabel(Form)
        self.m = QtWidgets.QDoubleSpinBox(Form)
        self.label_14 = QtWidgets.QLabel(Form)
        self.label_13 = QtWidgets.QLabel(Form)
        self.label_12 = QtWidgets.QLabel(Form)
        self.label_11 = QtWidgets.QLabel(Form)
        self.label_10 = QtWidgets.QLabel(Form)
        self.k3 = QtWidgets.QDoubleSpinBox(Form)
        self.label_9 = QtWidgets.QLabel(Form)
        self.label_8 = QtWidgets.QLabel(Form)
        self.k2 = QtWidgets.QDoubleSpinBox(Form)
        self.label_7 = QtWidgets.QLabel(Form)
        self.label_6 = QtWidgets.QLabel(Form)
        self.label_5 = QtWidgets.QLabel(Form)
        self.k1 = QtWidgets.QDoubleSpinBox(Form)
        self.label_4 = QtWidgets.QLabel(Form)
        self.btn_pause = QtWidgets.QPushButton(Form)
        self.btn_start = QtWidgets.QPushButton(Form)
        self.btn_hide = QtWidgets.QPushButton(Form)

        self.chartView = QtChart.QChartView(Form)
        self.chartView.setRenderHint(QtGui.QPainter.Antialiasing)

        self.chart = self.chartView.chart()
        self.chart.legend().setVisible(False)
        self.axisX = QtChart.QValueAxis()
        self.axisY = QtChart.QValueAxis()

        self.mass_series = QtChart.QScatterSeries()
        self.trajectory_series = QtChart.QLineSeries()
        self.box_series = QtChart.QLineSeries()
        self.s1_series = QtChart.QLineSeries()
        self.s2_series = QtChart.QLineSeries()
        self.s3_series = QtChart.QLineSeries()
        self.s4_series = QtChart.QLineSeries()

        self.timer = QtCore.QTimer()
        self.timer.setInterval(10)
        self.total_time = .0

        self.runge_kutta = ode(self.f)
        self.runge_kutta.set_integrator('dopri5')
Ejemplo n.º 28
0
    def __init__(self):
        super().__init__()
        self._chart = QtChart.QChart()
        self._chart.legend().hide()
        self._chart.layout().setContentsMargins(0, 0, 0, 0)
        self._chart.setBackgroundRoundness(0)
        self._chart.setBackgroundVisible(False)
        self._chart.setMargins(QtCore.QMargins(0, 0, 0, 0))

        self._xAxis = QtChart.QValueAxis()
        self._xAxis.setTickCount(3)
        self._xAxis.setMinorTickCount(4)
        self._xAxis.setLabelFormat("%.3f mm")
        self._chart.addAxis(self._xAxis, QtCore.Qt.AlignBottom)

        self._yAxis = QtChart.QValueAxis()
        self._yAxis.setTickCount(2)
        self._yAxis.setMinorTickCount(3)
        self._yAxis.setLabelFormat("%.2g Ohm")
        self._chart.addAxis(self._yAxis, QtCore.Qt.AlignLeft)

        self._line = QtChart.QLineSeries()
        self._line.setColor(QtGui.QColor('magenta'))

        self._chart.addSeries(self._line)
        self._line.attachAxis(self._xAxis)
        self._line.attachAxis(self._yAxis)

        self._series = QtChart.QScatterSeries()
        self._series.setName("R")
        self._series.setMarkerSize(3)
        self._series.setBorderColor(QtGui.QColor('red'))
        self._series.setColor(QtGui.QColor('red'))

        self._chart.addSeries(self._series)
        self._series.attachAxis(self._xAxis)
        self._series.attachAxis(self._yAxis)

        self._marker = QtChart.QScatterSeries()
        self._marker.setMarkerSize(9)
        self._marker.setBorderColor(QtGui.QColor('red'))
        self._marker.setColor(QtGui.QColor('red'))

        self._chart.addSeries(self._marker)
        self._marker.attachAxis(self._xAxis)
        self._marker.attachAxis(self._yAxis)

        self.qt.setMinimumSize(160, 60)

        self._view = QtChart.QChartView(self._chart)
        self.qt.layout().setContentsMargins(0, 0, 0, 0)
        self.qt.layout().addWidget(self._view)
Ejemplo n.º 29
0
    def init_graph(self):
        graph_layout = QtWidgets.QHBoxLayout()
        self.ui.graph_placeholder.setLayout(graph_layout)

        # Prediction chart
        self.chart = QtChart.QChart()
        self.chart_view = QtChart.QChartView(self.chart)
        self.chart_view.setRenderHint(QtGui.QPainter.Antialiasing)
        graph_layout.addWidget(self.chart_view)

        self.threshold_serie = QtChart.QLineSeries()
        self.threshold_serie.setName("threshold")
        self.threshold_serie.setPen(QtGui.QPen(QtGui.QColor("black")))
        self.threshold_serie.append(-GRAPH_RANGE, self.threshold)
        self.threshold_serie.append(9001, self.threshold)
        self.chart.addSeries(self.threshold_serie)

        self.series = [QtChart.QLineSeries() for _ in range(len(self.project.project_info['hotwords']))]
        for serie, label in zip(self.series, self.project.project_info['hotwords']):
            serie.setName(label)        
            self.chart.addSeries(serie)
        self.chart.createDefaultAxes()
        self.chart.axisY().setRange(0,1)
Ejemplo n.º 30
0
 def init_chart(self, chartview, pair: str):
     series = QtChart.QLineSeries()
     pres = prediction.pairPredict(pair)
     # pres = [10] * 10
     data = [QtCore.QPointF(x[0], x[1]) for x in enumerate(pres)]
     series.append(data)
     ax_x = QtChart.QValueAxis()
     ax_x.setRange(0.0, 10.0)
     chartview.chart().addSeries(series)
     chartview.chart().legend().hide()
     chartview.setContentsMargins(-10, -10, -10, -10)
     chartview.chart().setAxisX(ax_x)
     # chartview.chart().setAxisY(ax_y)
     chartview.show()