| 235 | self._chart.createDefaultAxes() |
| 236 | |
| 237 | def __setAxisX(self, axisx=None): |
| 238 | if not axisx or not isinstance(axisx, dict): |
| 239 | return |
| 240 | series = self._chart.series() |
| 241 | if not series: |
| 242 | return |
| 243 | types = axisx.get("type", None) |
| 244 | data = axisx.get("data", []) or [] |
| 245 | if not data or not isinstance(data, list): |
| 246 | return None |
| 247 | minx = self._chart.axisX().min() |
| 248 | maxx = self._chart.axisX().max() |
| 249 | if types == "category": |
| 250 | xaxis = QCategoryAxis( |
| 251 | self._chart, labelsPosition=QCategoryAxis.AxisLabelsPositionOnValue) |
| 252 | # 隐藏网格 |
| 253 | xaxis.setGridLineVisible(False) |
| 254 | # 刻度条数 |
| 255 | tickc_d = len(data) |
| 256 | tickc = tickc_d if tickc_d > 1 else self._chart.axisX().tickCount() |
| 257 | xaxis.setTickCount(tickc) |
| 258 | # 强制x轴刻度与新刻度条数一致 |
| 259 | self._chart.axisX().setTickCount(tickc) |
| 260 | step = (maxx - minx) / (tickc - 1) |
| 261 | for i in range(min(tickc_d, tickc)): |
| 262 | xaxis.append(data[i], minx + i * step) |
| 263 | self._chart.setAxisX(xaxis, series[-1]) |
| 264 | |
| 265 | def __analysis(self, datas): |
| 266 | ''' |