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
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)
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)
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)
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()
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)
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()
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_())
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)
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)
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)
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())
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 = ()
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)
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 = ()
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)
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_())
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)
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)
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)
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)
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)
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)
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()
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()
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')
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)
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)
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()