Сохранить разметку графика QChart при изменении габаритов в PySide\PyQt

При изменении масштаба либо недостатке места разметка на осях схлопыватся и превращается в многоточие.

введите сюда описание изображения

Можно ли переопределить это поведение? Очень надо сохранить видимую разметку, пусть даже числа будут расположены совсем тесно или наползать друг на друга.

Минимальный воспроизводимый пример:

import sys
from PySide6.QtCore import QPointF, Qt, QMargins
from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout
from PySide6.QtCharts import QChartView, QChart, QLineSeries, QAreaSeries
from PySide6.QtGui import QGradient, QPen, QLinearGradient, QPainter
import math


class TestChart(QWidget):
    def __init__(self):
        super().__init__()
        self.series_0 = QLineSeries()
        self.series_1 = QLineSeries()
        for i in range(0, 100, 1):
            self.series_0.append([QPointF(i, math.cos(i * 0.1))])
        self.series_1.append(QPointF(0, 0))
        self.series_1.append(QPointF(100, 0))
        self.series = QAreaSeries(self.series_0, self.series_1)
        gradient = QLinearGradient(QPointF(0, 0), QPointF(0, 1))
        gradient.setColorAt(0.0, 0x3cc63c)
        gradient.setColorAt(1.0, 0x26f626)
        gradient.setCoordinateMode(QGradient.ObjectBoundingMode)
        self.series.setBrush(gradient)
        #
        self.chart = QChart()
        self.chart.addSeries(self.series)
        self.chart.legend().hide()
        self.chart.createDefaultAxes()
        self.chart.setMargins(QMargins(0,0,0,0))
        _chart_view = QChartView(self.chart)
        _chart_view.setRenderHint(QPainter.Antialiasing)
        vbox = QVBoxLayout()
        vbox.addWidget(_chart_view)
        self.setLayout(vbox)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = TestChart()
    window.show()
    window.resize(400, 300)
    sys.exit(app.exec())

Ответы (1 шт):

Автор решения: Garp

Уменьшаем размер шрифта на нужной оси. В коде ниже для осей QValueAxis, для createDefaultAxes будет что-то типа self.chart.AxisY().setPixelSize(5).

font_axis_y = QFont()
font_axis_y.setPixelSize(5)
font_axis_y.setPointSize(5)
self.y_axis.setLabelsFont(font_axis_y)
→ Ссылка