有没有办法在 QCustomPlot 中在零线上显示刻度和子刻度?我在文档中找不到任何内容。
您可能会混淆图层。确保网格位于轴下方的图层上,因为零线是网格的一部分,刻度线是轴的一部分。所以例如:
axis->setLayer("axes");
axis->grid()->setLayer("grid");
请注意,"轴"和"网格"是默认存在的图层。通常,网格已经放置在正确的图层上,因此您遇到的可能是由于清除了默认设置/绘图布局,然后在一个图层上创建了一个新的轴矩形。
我必须使用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));
}