QCustomPlot - QT上的自定义滴答步骤

时间:2015-09-06 18:40:30

标签: c++ qt qcustomplot

我是QCustomPlot中的新手,但我无法创建TickStep的自定义大小。

现在,我有这个情节,(时间是从另一天的6:00到6:00)。

enter image description here

我想要的X轴标签是什么:

enter image description here

我尝试使用setTickStep但没有任何成功。

var arr=[[],[],[]]
    
    index = 0

"1234*5678".split('').forEach(function(e){
    if(parseInt(e)){
       arr[index].push(e); 
    }else{
       index ++;
       arr[index++].push(e)
    }
});
document.write('First Array ' +arr[0] + '<br>');
document.write('Secont Array ' +arr[1] + '<br>');
document.write('Third Array ' +arr[2]);

1 个答案:

答案 0 :(得分:2)

在设置自定义刻度步骤之前,您错过了一件事。默认情况下,在轴上启用名为:自动计时步骤的功能,因此您需要先禁用它。

QVector<double> x(96), y(96);

for (int i=0; i<95; ++i)
{
  x[i] = i*900+22500;
  y[i] = i;  // some values not from database
}
ui->customPlot->addGraph();
ui->customPlot->setBackground(QBrush(QColor(239, 239, 239, 255)));
ui->customPlot->graph(0)->setData(x, y);

ui->customPlot->xAxis->setRange(21600, 108000);
ui->customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
ui->customPlot->xAxis->setDateTimeFormat("h:mm");

ui->customPlot->xAxis->setAutoTickStep(false);   // <-- disable to use your own value

ui->customPlot->xAxis->setTickStep(7200);

有和没有附加行的结果:

enter image description here