def _setupAxes(self): for a in self.chart.axes(): self.chart.removeAxis(a) if len(self.chart.series()) == 0: return if self.chartView.logX: xAxis = QtCharts.QLogValueAxis() else: xAxis = QtCharts.QValueAxis() if self.chartView.logY: yAxis = QtCharts.QLogValueAxis() else: yAxis = QtCharts.QValueAxis() xAxis.setTitleText("Frequency (Hz)") yAxis.setTitleText("PSD ((" + self.unit + ")<sup>2</sup> Hz <sup>-1</sup>)") self.chart.addAxis(xAxis, Qt.AlignBottom) self.chart.addAxis(yAxis, Qt.AlignLeft) for s in self.chart.series(): s.attachAxis(xAxis) s.attachAxis(yAxis) self.chart.axes(Qt.Horizontal)[0].setGridLineVisible(True) self.chart.axes(Qt.Horizontal)[0].setMinorGridLineVisible(True) self.chart.legend().setAlignment(Qt.AlignTop) self.frequencyChanged(*self.toolBar.getFrequencyRange()) self.setupAxes = False
def __init__(self): QMainWindow.__init__(self) self.series = QtCharts.QLineSeries() self.series.append([ QPointF(1.0, 1.0), QPointF(2.0, 73.0), QPointF(3.0, 268.0), QPointF(4.0, 17.0), QPointF(5.0, 4325.0), QPointF(6.0, 723.0) ]) self.chart = QtCharts.QChart() self.chart.addSeries(self.series) self.chart.legend().hide() self.chart.setTitle("Logarithmic axis example") self.axisX = QtCharts.QValueAxis() self.axisX.setTitleText("Data point") self.axisX.setLabelFormat("%i") self.axisX.setTickCount(self.series.count()) self.chart.addAxis(self.axisX, Qt.AlignBottom) self.series.attachAxis(self.axisX) self.axisY = QtCharts.QLogValueAxis() self.axisY.setTitleText("Values") self.axisY.setLabelFormat("%g") self.axisY.setBase(8.0) self.axisY.setMinorTickCount(-1) self.chart.addAxis(self.axisY, Qt.AlignLeft) self.series.attachAxis(self.axisY) self.chartView = QtCharts.QChartView(self.chart) self.chartView.setRenderHint(QPainter.Antialiasing) self.setCentralWidget(self.chartView)