如何在QCustomPlot中显示zerolines的刻度和子数?

时间:2014-01-13 07:02:51

标签: qt qcustomplot

有没有办法在QCustomPlot中显示zerolines的滴答声和子号?我在文档中找不到任何内容。

2 个答案:

答案 0 :(得分:0)

您的图层可能会混淆。确保您的网格位于轴下方的图层上,因为零线是网格的一部分,并且是轴的刻度线部分。例如:

axis->setLayer("axes");
axis->grid()->setLayer("grid");

请注意,“axes”和“grid”是默认情况下存在的图层。通常网格已经放置在正确的图层上,因此您所遇到的可能是清除默认的设置/绘图布局,然后在一个图层上创建一个新的轴矩形。

答案 1 :(得分:0)

我必须使用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));
}