设置 X 和 Y QwtPlotZoneItem 的间隔
Posted
技术标签:
【中文标题】设置 X 和 Y QwtPlotZoneItem 的间隔【英文标题】:Set interval for X and Y QwtPlotZoneItem 【发布时间】:2016-11-21 15:55:21 【问题描述】:我需要使用QwtPlotZoneItem
类在图表上绘制一个区域。我需要为 X 轴和 Y 轴设置不同的间隔,我该怎么做?
我的QwtPlotZoneItem
的方向是垂直,因此根据文档,如果我设置间隔,它将仅应用于 X 轴。
"对于水平区域,间隔与 y 轴有关,对于 垂直区域它与x轴相关。”
我的构造函数集:
setOrientation( Qt::Vertical );
setInterval( initDate, endDate );
基本上,我需要在我的图表上创建多个代表区域的矩形,例如:
Qt 5.3.2
Qwt 6.1.0
【问题讨论】:
【参考方案1】:我试图为我的目的使用不正确的类。我在documentation中发现了一个注释:
"要显示以 x 和 y 坐标为界的区域,请使用 QwtPlotShapeItem"
QwtPlotShapeItem 类正是我所需要的。
我基本上需要设置画笔并创建矩形,例如:
QwtPlotShapeItem *shapeItem = new QwtPlotShapeItem();
shapeItem->setBrush(QColor(255,255,255, 0));
shapeItem->setPen(QColor(Qt::transparent), 0.0, Qt::SolidLine);
// TopLeft - BottomRight
QRect myRect(QPoint(startDate, yUpperPos), QPoint(endDate, yLowerPos));
shapeItem->setRect( QRectF(myRect) );
shapeItem->attach(myQwtPlot);
myQwtPlot->replot();
【讨论】:
以上是关于设置 X 和 Y QwtPlotZoneItem 的间隔的主要内容,如果未能解决你的问题,请参考以下文章
在 Matlab 中使用 bar3 时如何设置 x 和 y 值?