问题标签 [qchart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 在运行的 while 循环中从 QLineSeries 更新 QChart
每当将一个点添加到附加到它的 QLineSeries 对象时,我想让我的 QChart 动态更新,但似乎此更新仅在我正在运行的 while 循环完成后发生。我在 interface.cpp 中使用所说的 while 循环,它调用一个函数 updatePlot(),它将数据点添加到线系列,但这只会在 while 循环完全完成后更新图表。这里发生的事情的伪代码:
qtwindow.cpp
接口.cpp
这没有给我任何错误并且 while 循环完成,但是这些行仅在 runbacktest() 退出后绘制。然后它会正确地绘制所有数据,但同时绘制所有数据。
我需要做的是让 QChart 在每次添加行时更新,我的猜测是使用某种形式的自定义信号槽侦听器,但我不知道如何去做。如果直到函数完成后图表才会更新,在 QChart 框架内甚至可能吗?
另外,我已经尝试过 QChart::update() 和 QChartView::repaint()。两者都产生了与没有相同的结果。
编辑:我尝试设置一个新线程,只要数据完成,它就会向主线程发出一个信号,但它似乎没有任何改变。在输入所有数据之前,QChart 仍然不会更新。我添加了几行代码来帮助调试,似乎发出信号的函数始终运行良好,但接收信号的槽函数仅在线程完成后运行。不仅如此,通过睡眠减慢信号速度并不会使其绘制缓慢(就像我想的那样),因为 QChart 仍然拒绝更新,直到对 addData() 的最终更新之后。
python - PyQtChart 不显示数据
我一直在尝试使用 PyQtChart 构建图表。
我一直在关注这个实现,这就是我想要制作的。
https://doc.qt.io/qt-5/qtcharts-datetimeaxis-example.html
图表显示但缺少数据和 X 轴。
如何获取 X 轴上显示的日期时间和绘图上显示的数据?
c++ - QPieSlice 的 Qt 坐标
如何获取 QPieSlice(中心)的坐标?
背景:我想在显示 QPieSeries 的 QChart中添加“标注”,请参见此处。我已将悬停的信号连接到自定义插槽。在这个插槽中,我可以访问 QPieSlice。要显示我的“标注”,我需要 QChart 坐标框架中的 x 和 y 坐标。“标注”的锚点应该是我当前悬停的 QPieSlice 的中心。
如何获取 QPieSlice 中心的坐标?
我试过类似的东西:
qt - QChart 对大数据集无响应
我有这段代码,它适用于高达 1000 的数据大小。现在我用 65536 点对其进行了测试。
并且应用程序在 1 个核心全功率下冻结。几分钟后我停止了它。
如何防止 Qt 变得无响应。这个数据大小并不特殊,我希望图表视图可以处理多达百万点的数据集。
编辑:我测量了时间
2000分需要1秒。这意味着大约一分钟 > 50.000 这是不可用的。
更糟糕的是,对数比例图
2000分需要40秒。那是完全无法使用的。原因是调试消息,几乎每个点都会打印出来。
QtCharts::XLogYDomain::calculateGeometryPoints(const QVector&) const>; 零和负值的对数未定义。
我可以加快线性情节
但是对于 65536,它仍然需要 14 秒,这意味着每个点需要 200 µs。还是太多了。我想要一个最低 10 Hz 的实时视频和一个实时直方图。时间必须 << 1 秒。
编辑:这是一个工作示例,使用我的代码
我测量毫秒 lin:1624 毫秒日志:6801