2014-10-11 46 views
1

所以我想繪製一個qcustomplot的X軸上的時間......我的問題是我如何可以有X軸的「滴答」,有一個小時的時間間隔(00:00,01: 00,02:00 ...等)。我的代碼,結果如下:更改滴答間隔以使用一小時增量?

代碼:

ui->diagramArea->yAxis->setLabel("Thermocracy"); 
ui->diagramArea->yAxis->setRange(35,42); 
ui->diagramArea->xAxis->setLabel("Hour of Measurement"); 
ui->diagramArea->xAxis->setTickLabelType(QCPAxis::ltDateTime); 
ui->diagramArea->xAxis->setDateTimeFormat("hh:mm"); 
ui->diagramArea->xAxis->setRange(-7200,75600); //that's because im gmt+2 
ui->diagramArea->xAxis->setAutoTickStep(3600); 
ui->diagramArea->addGraph(); 
ui->diagramArea->graph(0)->setBrush(QBrush(QColor(204,243,255))); 
ui->diagramArea->graph(0)->setPen(pen); 
ui->diagramArea->graph(0)->setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssDisc, 5)); 
ui->diagramArea->graph(0)->setData(vTime,vData); 
ui->diagramArea->replot(); 

結果:
1264714​​

回答

2

嘗試使用void QCPAxis::setTickStep (double step)

ui->diagramArea->xAxis->setAutoTickStep(false); 
ui->diagramArea->xAxis->setTickStep(3600); 

http://www.qcustomplot.com/documentation/classQCPAxis.html#a99fe77b034e06f5b723995beab96e741

是否自動計算滴答步驟,即兩個(主要)滴答之間的間隔。如果on設置爲true,則軸會找到一個適合人類可讀繪圖的刻度步驟。算法在可見範圍內的目標滴答數可以用setAutoTickCount指定。如果on設置爲false,則可以用setTickStep手動設置滴答步。

它需要bool變量,所以似乎你設置自動計算的步驟。

+0

吉恩我是一個愚蠢,愚蠢的男孩! :) 多謝兄弟! – TheDillo 2014-10-11 20:02:14