Время отображения QCustomPlot в формате ЧЧ: ММ: СС
Мне было интересно, можно ли в библиотеке QCustomPlot изменить формат отображения данных на одной из осей. В моем приложении по оси X у меня есть время в секундах, и я хотел бы вместо этого отображать шаги в формате ЧЧ: ММ: СС. В качестве альтернативы я подумываю об изменении отображения только с секунд до минут и часов в зависимости от длины X и обновлении метки с времени [с] на [мин] до [час]. Но я бы избегал этого, если бы можно было сделать это так, как я описал. Буду признателен за любую помощь!
Когда используешь:
customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
customPlot->xAxis->setDateTimeFormat("hh:mm:ss");
Мой график начинается с часа 1 вместо 0:Есть ли способ это исправить?
2 ответа
Решение
Ты можешь использовать setTickLabelType()
а также setDateTimeFormat
:
plot->xAxis->setTickLabelType(QCPAxis::ltDateTime);
plot->xAxis->setDateTimeFormat("hh:mm:ss");
Строка формата строится в соответствии со строкой формата QDateTime::toString()
,
// Создаем формат отображения дискретных отсчетов времени захвата мгновенного курса судна
QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime);
// Установка формата отображения времени захвата мгновенного курса судна
dateTicker->setDateTimeFormat("hh:mm:ss");
// Передаем вектор подписей в график
m_QCustomPlot->yAxis->setTicker(dateTicker);