有没有办法在 QCustomPlot 中显示零线上的刻度和副刻度?我在文档中找不到任何东西。
问问题
800 次
2 回答
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));
}
于 2014-02-03T09:40:01.193 回答
0
你可能把你的图层弄混了。确保您的网格位于轴下方的图层上,因为零线是网格的一部分,而刻度线是轴的一部分。例如:
axis->setLayer("axes");
axis->grid()->setLayer("grid");
请注意,“axes”和“grid”是默认存在的图层。通常网格已经放置在正确的图层上,所以您遇到的可能是由于清除了默认设置/绘图布局,然后在一层上创建了一个新的轴矩形。
于 2014-02-02T20:21:48.000 回答