Как показать галочки и субтиксы на нулях в QCustomPlot?
Есть ли способ показать тики и подтипы над нулями в QCustomPlot? Я не мог найти ничего в документации.
2 ответа
Решение
Мне пришлось создавать тики и субтик с помощью QCPItemLine. Вот код:
for(int i=-65; i<=65; i+=10)
{
// Ticks
QCPItemLine *tickHLine=new QCPItemLine(ui->customPlot);
ui->customPlot->addItem(tickHLine);
tickHLine->start->setCoords(i,-1);
tickHLine->end->setCoords(i,1);
tickHLine->setPen(QPen(QColor(137, 140, 140), 1));
//Subticks
QCPItemLine *subTickHLine=new QCPItemLine(ui->customPlot);
ui->customPlot->addItem(subTickHLine);
subTickHLine->start->setCoords(i+5,-2);
subTickHLine->end->setCoords(i+5,2);
subTickHLine->setPen(QPen(QColor(137, 140, 140), 1));
}
Вы можете смешать свои слои. Убедитесь, что ваша сетка находится на слое ниже оси, потому что нулевая линия является частью сетки, а отметки - частью оси. Так, например:
axis->setLayer("axes");
axis->grid()->setLayer("grid");
Обратите внимание, что "оси" и "сетка" являются слоями, которые существуют по умолчанию. И обычно сетка уже размещена на правильном слое, поэтому, вероятно, вы столкнулись с тем, что очистили макет установки / графика по умолчанию, а затем создали новую прямоугольную ось на одном слое.