- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在努力实现类似 https://doc.qt.io/qt-5.9/qtcharts-datetimeaxis-example.html 的目标.
在一个方法中我有这段代码
QDateTime past = QDateTime::currentDateTime().addMonths(-10);
QDateTime now = QDateTime::currentDateTime();
qreal pastvalue = 4;
qreal nowvalue = 4;
axisY = new QValueAxis();
axisX= new QDateTimeAxis();
chart = new QChart();
series = new QLineSeries();
/*Y*/
axisY->setLabelFormat("%i");
axisY->setTitleText("Numero dispositivi");
axisY->setMin(0);
axisY->setMax(5);
/*X*/
axisX->setTickCount(2);
axisX->setMin(past);
axisX->setMax(now);
axisX->setFormat("dd-MM-yyyy h:mm:ss");
/*series/*
series->attachAxis(axisX);
series->attachAxis(axisY);
series->append(past.toSecsSinceEpoch(),pastvalue);
series->append(past.toSecsSinceEpoch(),nowvalue);
/*chart*/
chart->legend()->hide();
chart->setTitle("Dati filtrati durante il periodo temporale");
chart->addAxis(axisY, Qt::AlignLeft);
chart->addAxis(axisX, Qt::AlignBottom);
chart->addSeries(series);
chartView = new QChartView(chart);
ui->verticalLayout->addWidget(chartView);
我不明白为什么不显示值。
我不知道哪里出了问题。
最佳答案
您的代码有以下错误:
toMSecsSinceEpoch()
而不是 toSecsSinceEpoch()
。QChart
。将 series->append(past.toSecsSinceEpoch(),nowvalue);
更改为 series->append(now.toMSecsSinceEpoch(),nowvalue);
我建议您设置刻度,以便只显示整点,因为例如,不合适的值将显示在垂直轴上,或者设置为带有一定小数位数的 float ,在下图我用 %i 显示结果:
正如我们在上图中看到的那样,4 非常接近 3 而远于 5,而不是等距,因此在我建议的解决方案中,您将使用 %.2f:
QDateTime past = QDateTime::currentDateTime().addMonths(-10);
QDateTime now = QDateTime::currentDateTime();
qreal pastvalue = 4;
qreal nowvalue = 4;
axisY = new QValueAxis();
axisX= new QDateTimeAxis();
chart = new QChart();
series = new QLineSeries();
/*Y*/
axisY->setLabelFormat("%.2f");
axisY->setTitleText("Numero dispositivi");
axisY->setMin(0);
axisY->setMax(5);
/*X*/
axisX->setTickCount(2);
axisX->setMin(past);
axisX->setMax(now);
axisX->setFormat("dd-MM-yyyy h:mm:ss");
/*series*/
series->append(past.toMSecsSinceEpoch(),pastvalue);
series->append(now.toMSecsSinceEpoch(),nowvalue);
/*chart*/
chart->legend()->hide();
chart->setTitle("Dati filtrati durante il periodo temporale");
chart->addAxis(axisY, Qt::AlignLeft);
chart->addAxis(axisX, Qt::AlignBottom);
chart->addSeries(series);
series->attachAxis(axisX);
series->attachAxis(axisY);
chartView = new QChartView(chart);
ui->verticalLayout->addWidget(chartView);
关于c++ - QLineSeries 和 QDateTimeAxis - 图表不显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52507050/
我需要按 y 轴对 QLineSeries 和它们内部的点进行排序。我是 c++ 和 qt 的新手,所以我试过了 QLineSeries* series = lineSeriesMap.value(k
我似乎找不到包含 的方法在我的标题中,以便 Qt 知道 QLineSeries 类。 我添加了 Qt += charts到我的 .pro 文件。 我添加了 #include 至 MainWindow
我能够使用 Python 中的 QtCharts 库生成图表,但我似乎不知道如何向我的图表添加轴标签... 我看到了 QValueAxis 的 setLabelFormat() 功能,但没有看到如何设
我正在努力实现类似 https://doc.qt.io/qt-5.9/qtcharts-datetimeaxis-example.html 的目标. 在一个方法中我有这段代码 QDateTime pa
有什么方法可以为添加到 QChart 的某些 QAbstractSeries 订购 z-index? 似乎 QChart 在内部是这样做的。 最佳答案 Zlevel 由 QtCharts::Chart
m_total_hour_series->append(pair.first, pair.second);行是问题的根源。错误消息说:没有匹配的函数来调用'QtCharts::QLineSeries:
我想让我的 QChart 在一个点被添加到附加到它的 QLineSeries 对象时动态更新,但似乎这个更新只发生在我正在运行的 while 循环完成之后。我在 interface.cpp 中使用所说
我目前正在使用 QLineSeries 来表示温度随时间变化的关系。 我连接了一个温度传感器。它每分钟发送一次数据。 问题是,测量是在 20 分钟的时间段内进行的,之后传感器处于非事件状态 60 分钟
我正在尝试创建一个可以绘制大型数据集的应用程序(因此使用 OpenGl 对我来说很重要)。我使用 QChartView、QChart 和 QLineSeries。同样对于 QLineSeries,我打
我是一名优秀的程序员,十分优秀!