Ejemplo n.º 1
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.º 2
0
def create_axis(log=False):
    if log:
        axis = QtChart.QLogValueAxis()
        axis.setMinorTickCount(-1)
        axis.setLabelFormat("%g")
        return axis
    return QtChart.QValueAxis()
Ejemplo n.º 3
0
    def refresh_stats(self, xdata, ydata):

        self.xdata.append(xdata)
        self.ydata.append(ydata)
        if ydata > 0.9 * self.max:
            self.max = 1.2 * ydata
            y_axis = qtch.QLogValueAxis()
            y_axis.setBase(10)
            y_axis.setRange(1, self.max)
            self.chart.setAxisY(y_axis, self.series)

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