C++ Qwt - 从矢量绘制数据
C++ Qwt - Plotting data from a vector
我正在尝试根据我获得并存储在向量中的数据绘制一个图形,但是,我似乎找不到任何教程或参考资料,也无法给我任何指示我需要做什么。所以这是我的代码:
class Plotter : public QwtPlot
{
public:
Plotter() {
}
};
int main( int argc, char **argv )
{
QApplication app(argc, argv);
//Plotter *d_plot = new Plotter();
Plotter* d_plot = new Plotter();
d_plot->setTitle("DEMO");
d_plot->setCanvasBackground(Qt::white);
d_plot->setAxisScale( QwtPlot::yLeft, 0.1, 50.0 );
d_plot->setAxisScale(QwtPlot::yRight, 0.1, 50.00);
// PLOT THE DATA
std::vector<double> data;
data.push_back(1.03);
data.push_back(13.12);
//....
d_plot->resize( 600, 400 );
d_plot->show();
return app.exec();
}
谁能给我任何想法,我可以使用什么功能来让我绘制数据?
谢谢
查看 QwtPlot 文档:通常你创建一个QwtPlotCurve
,使用QwtPlotCurve::setSamples
获取其中的数据,然后QwtPlotCurve::attach
获取数据。
应该是这样的:
std::vector<double> x;
std::vector<double> y;
//fill x and y vectors
//make sure they're the same size etc
QwtPlotCurve curve( "Foo" );
//or use &x[ 0 ] or &(*x.first()) pre-C++11
cure.setSamples( x.data(), y.data(), (int) x.size() );
curve.attach( &plot );
http://qwt.sourceforge.net/class_qwt_plot_curve.html
http://qwt.sourceforge.net/class_qwt_plot.html
一种方法是在绘图上附加一条曲线,即:
QwtPlotCurve myCurve;
myCurve->attach(&d_plot);
然后,您可以使用(在成员函数中,或任何需要的地方)具有以下解释性签名的函数QwtPlotCurve::setRawSample
:
void QwtPlotCurve::setRawSample(const double* xData, const double* yData, int size);
使用它设置数据,然后调用replot()
刷新绘图。这意味着您还必须有一个 x 值的向量。
代码如下所示:
int main( int argc, char **argv )
{
//...
Plotter* d_plot = new Plotter();
//Plot config
// PLOT THE DATA
std::vector<double> data_y;
data_y.push_back(1.03);
data_y.push_back(13.12);
std::vector<double> data_x;
data_x.push_back(1.0);
data_x.push_back(2.0);
//....
myCurve->setRawSample(data_x.data(),data_y.data(),data_y.size());
d_plot->resize( 600, 400 );
d_plot->replot();
d_plot->show();
//...
}
我建议你研究关于曲线的Qwt文档
相关文章:
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 使用C++绘制数据结构图
- 在 Mathematica 中绘制来自 c++ 的 2D 晶格数据
- 使用GDI 从ADB Framebuffer绘制数据
- 如何从文本中绘制这些数据
- 有没有办法将 EGL 绘制到 /dev/fb1 而不是 /dev/fb0,而无需在树莓派上复制数据
- 使用 Python 的 Matplotlib 绘制C++程序中生成的数据
- DirectX:从结构数组绘制多维数据集
- 使用gnuplot动态绘制易失性数据文件
- 通过统一缓冲区对象发送到 GLSL 的数据会泄漏到其他绘制调用中 (OpenGL 3.2)
- 用于绘制 QVector3D 数据的工具
- 在 qt 中绘制 dicom 原始数据
- 用 C++ 或 C 绘制图形数据
- C++ Qwt - 从矢量绘制数据
- 在QCustomPlot中,如何实时绘制相同数据的折线图和条形图
- 如何在Qt中绘制数据流图
- opengl =中缓冲区数据的问题仅在我缓冲比需要更多的字节时绘制
- 使用OpenGL在c++中绘制带有大量数据点的散点图的最佳方法
- 如何将framebuffer对象中的屏幕外数据绘制到QGLWidget
- 绘制财务数据