gpt4 book ai didi

c++ - 使用 Qwt 绘制半对数图

转载 作者:行者123 更新时间:2023-11-28 02:37:52 25 4
gpt4 key购买 nike

我想使用 Qwt 绘制半对数图表。我不了解 Qwt,但我正在寻找一些示例来指导我的代码。问题是目前我找不到人。你能帮我一个简单的代码吗?我想使用一个矩阵,我可以在其中获取 x 轴和 y 轴值并使用它们来创建绘图。谢谢!

最佳答案

试试这个:

QwtPlot *myPlot = new QwtPlot;
QwtPlotCurve *curve1 = new QwtPlotCurve;
 
QwtPointSeriesData* myData = new QwtPointSeriesData;
 
QVector<QPointF>* samples = new QVector<QPointF>;
samples->push_back(QPointF(1.0,1.0));
samples->push_back(QPointF(2.0,2.0));
samples->push_back(QPointF(3.0,3.0));
samples->push_back(QPointF(4.0,5.0));
myData->setSamples(*samples);
curve1->setData(myData);
 
curve1->attach(myPlot);

我在这里使用 QVector,但 qwtplotcurve 支持双数组和其他东西,但我喜欢使用容器。您可以选择最适合您的。 QPoint 包含 x 和 y 值。

Qwt 还提供对数刻度引擎:http://qwt.sourceforge.net/class_qwt_log_scale_engine.html

我应该说你的 Qwt 可能有问题,但下一个代码在我的电脑上运行完美:

#include "mainwindow.h"
#include <QApplication>
#include <qwt_plot.h>
#include <qwt_plot_curve.h>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QwtPlot *myPlot = new QwtPlot;
QwtPlotCurve *curve1 = new QwtPlotCurve;

QwtPointSeriesData* myData = new QwtPointSeriesData;

QVector<QPointF>* samples = new QVector<QPointF>;
samples->push_back(QPointF(1.0,1.0));
samples->push_back(QPointF(2.0,2.0));
samples->push_back(QPointF(3.0,3.0));
samples->push_back(QPointF(4.0,5.0));
myData->setSamples(*samples);
curve1->setData(myData);

curve1->attach(myPlot);
myPlot->show();
// MainWindow w;
// w.show();

return a.exec();
}

enter image description here

关于c++ - 使用 Qwt 绘制半对数图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26921042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com