QPolarChart скрыть радиальные метки - PullRequest
1 голос
/ 15 апреля 2019

Я создал QPolarChart и хочу скрыть радиальные метки, но оставлю галочки. Я просто хочу избавиться от текста, который показывает «0.0», «20.0» и так далее. Я пытался изменить формат метки, но это не сработало.

Вот минимальный пример того, что я пробовал:

#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QPolarChart>
#include <QtCharts/QValueAxis>

QT_CHARTS_USE_NAMESPACE

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QPolarChart *chart = new QPolarChart();

    QValueAxis *angularAxis = new QValueAxis();
    angularAxis->setTickCount(13);
    angularAxis->setLabelFormat("%d");
    angularAxis->setRange(0, 361);
    chart->addAxis(angularAxis, QPolarChart::PolarOrientationAngular);


    QValueAxis *radialAxis = new QValueAxis();
    radialAxis->setTickCount(10);
    radialAxis->setLabelFormat(""); // <-- what do I have to add here?
    radialAxis->setRange(0, 90);
    chart->addAxis(radialAxis, QPolarChart::PolarOrientationRadial);


    chart->legend()->setVisible(false);

    QLineSeries *series = new QLineSeries();
    *series << QPointF(0, 0) << QPointF(90, 22.5) << QPointF(180, 45) << QPointF(270, 67.5) << QPointF(360, 90);

    chart->addSeries(series);

    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);
    chart->legend()->hide();

    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 400);
    window.show();

    return a.exec();
}

Вот так выглядит результат. Я хочу избавиться от меток радиальной оси ("0.0", "10.0" ... "90.0") example

1 Ответ

1 голос
/ 16 апреля 2019

Хитрость заключается в том, чтобы установить для labelFormat значение " " или неверный формат, например "@":

radialAxis->setLabelFormat(" ");
# or radialAxis->setLabelFormat("@");

enter image description here

...