- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对使用 QwtPlot 类绘制自定义坐标系感到困惑。我的目标是绘制一个具有自定义比例尺的坐标系,并在这些自定义比例尺上绘制网格线。以下是比例的值:
x 轴和 y 轴刻度:
x1=-0.642455
x2=0
x3=0.642455
y1=-0.642455
y2=0
y3=0.642455
我阅读了QwtPlot class 的用户指南|和 QwtPlotGrid class .我在 QwtPlotGrid 类中找到了一个名为 setxDiv 的函数,似乎它可以提供帮助,所以我编写了以下代码:
QList<double> doubleListmin;//min scale
QList<double> doubleListmed;//medium scale
QList<double> doubleListmaj;//major scale
doubleListmin.append(0.1);
doubleListmed.append(0.3);
doubleListmaj.append(0.642455);
QList<double> doubleList[3];
doubleList[0] = doubleListmin;
doubleList[1] = doubleListmed;
doubleList[2] = doubleListmaj;
QwtScaleDiv *xDiv = new QwtScaleDiv(-0.642455, 0.642455, doubleList);
//lowerbound is -0.642455, upperbound is 0.642455, doubleList customizes the scale
QwtPlotGrid *grid = new QwtPlotGrid();
grid->setXDiv(*xDiv);
//grid->updateScaleDiv(*xDiv, *xDiv);
grid->attach(this);
但事实证明它对新的 QwtPlotGrid 没有影响,它没有改变其比例系统。
我认为还有另一种方法:在 QwtPlot 中画几条线。但我不知道该怎么做。
请有人帮助我!!!提前谢谢你~
最佳答案
正如您所说,“画几条线”不是一个好方法,因为您不能无限地画这条线。为此,有一个特殊的类 QwtPlotMarker
,它更适合这里。也许不是世界上最好的东西,但可以随心所欲地工作:
QwtPlotMarker *m1=new QwtPlotMarker;
m1->setLinePen(QPen(Qt::gray));
m1->setLineStyle(QwtPlotMarker::VLine);
m1->setValue(0,0);
m1->attach(ui->qwtPlot);
QwtPlotMarker *m2=new QwtPlotMarker;
m2->setLinePen(QPen(Qt::gray));
m2->setLineStyle(QwtPlotMarker::HLine);
m2->setValue(0,0);
m2->attach(ui->qwtPlot);
QwtPlotMarker *m3=new QwtPlotMarker;
m3->setLinePen(QPen(Qt::gray));
m3->setLineStyle(QwtPlotMarker::HLine);
m3->setValue(0,-0.642455);
m3->attach(ui->qwtPlot);
QwtPlotMarker *m4=new QwtPlotMarker;
m4->setLinePen(QPen(Qt::gray));
m4->setLineStyle(QwtPlotMarker::HLine);
m4->setValue(0,0.642455);
m4->attach(ui->qwtPlot);
QwtPlotMarker *m5=new QwtPlotMarker;
m5->setLinePen(QPen(Qt::gray));
m5->setLineStyle(QwtPlotMarker::VLine);
m5->setValue(-0.642455,0);
m5->attach(ui->qwtPlot);
QwtPlotMarker *m6=new QwtPlotMarker;
m6->setLinePen(QPen(Qt::gray));
m6->setLineStyle(QwtPlotMarker::VLine);
m6->setValue(0.642455,0);
m6->attach(ui->qwtPlot);
关于c++ - 自定义 QwtPlot 的比例和网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26755689/
我在维护曲线指针方面遇到了问题。在设置样本(或将曲线附加到绘图)期间,我遇到了内存访问冲突。它发生在 updateDisplayingData 方法的第 3 次调用中。调试器在 QwtSeriesSt
我的代码中有 geap 损坏检测。销毁后发生错误。该错误与 QwtLegend 和 QwtPlotCurve 指针有关。我尝试使用 auto_ptr 来 100% 确定 memery 被正确释放,但甚
我想用两个水平 Axis 创建绘图。底 Axis 是线性的,顶 Axis 是非线性的。我有一个数据表用于转换“底部值(value) -> 顶部值(value)”。我发现 QwtScaleEngine
我正在使用 QwtPlotRenderer 将绘图保存到文件。我还使用 QImage::grabWidget() 将绘图保存到 QPixmap。 但在这两种情况下,生成的图像都是: 如您所见,曲线在结
我尝试使用 QwtPlot,但是当我将这一行添加到我的 MainWindow.cpp 时 QwtPlot *plot = new QwtPlot(QwtText("Demo"), this); 应用程
我在处理 QwtPlot 刻度时遇到了一些问题。 我的 QwtPlot 的 X 轴是这样的: 我将 AxisMaxMajor 设置为 24: dataPlot->setAxisMaxMajor(Qwt
我将 QwtPlot 子类化为: class RealPlot : public QwtPlot { public: RealPlot () { ... set
我想知道在创建 QwtPlot 之后我可以使用哪些方法来更改它以及如何使用它。到目前为止,我在我的构造函数中使用 QwtPlot->setCanvasBackground(),但是在我的程序中,用户可
我对使用 QwtPlot 类绘制自定义坐标系感到困惑。我的目标是绘制一个具有自定义比例尺的坐标系,并在这些自定义比例尺上绘制网格线。以下是比例的值: x 轴和 y 轴刻度: x1=-0.642455
在 Qwt 的早期版本中,我们添加了 QwtPlot::clear() 但现在,我找不到它了。 有什么想法吗?我有一个实时绘图,所以在重新绘图时,xmin 之前的信息并不是很重要,并且随着时间的推移它
我使用 QwtPlot 6.1.3。 有没有办法显示多条曲线,共享一个 X 轴,但每条曲线都有自己的 Y 轴? 我没有在文档中找到任何内容,我的 Google 搜索也没有返回任何有用的信息(只是一些技
我正在使用 libqwt-6.1.1 在 QwtPlot 元素(作为直方图)中使用 y 轴自动缩放显示变量数据。根据实际数据和 tic 的数量,autoscale-run 认为合理,整个 QwtPlo
在我的 QwtPlot 对象中,我绘制了一些曲线和一个 QwtPlotPicker(派生自 Qwt playground 的 curvetracker 类)。 我怎样才能全部清除? 我需要删除曲线,隐
如何在 QwtPlot 上给 QwtPlotCurve 添加标签? 例子 最佳答案 我的解决方案 class QwtPlotCurveWithTitle : public QwtPlotCurve{
一天中的好时光!我有一个问题,您可能会觉得这很愚蠢而且显而易见,但我已经在尝试解决这个问题时伤透了脑筋。 我想通过按下 QPushButton 来绘制一些曲线。我写了插槽,接在这个按钮对应的信号上。但
我正在尝试使用 qwtplot 绘制速度-时间图形。 我的X数据是QTime值,Y数据是相应的速度值。我找不到任何关于用 QTime 绘图的例子。谁能简单解释一下如何绘制 QTime 与 Y 数据?如
我有一个将点绘制到 QwtPlot 中的系统。我想要的是在任何时间以不同的颜色绘制最后一个标绘点,这样我就可以随时知道哪个是最后一个标绘点。 有什么直接的方法可以做到这一点,或者我该如何处理? 最佳答
我是一名优秀的程序员,十分优秀!