设置X和Y QwtPlotZoneItem的间隔

时间:2016-11-21 15:55:21

标签: c++ qt qwt

我需要使用QwtPlotZoneItem类在图表上绘制区域。我需要为X轴和Y轴设置不同的间隔,我该怎么做?

QwtPlotZoneItem的方向是垂直,因此根据文档,如果我设置的时间间隔仅适用于X轴。

  

“对于水平区域,间隔与y轴相关,对于a   垂直区域与x轴有关。“

我的构造函数设置:

setOrientation( Qt::Vertical );
setInterval( initDate, endDate );

基本上,我需要的是在我的图表上创建代表区域的多个矩形,例如:

enter image description here

Qt 5.3.2

Qwt 6.1.0

1 个答案:

答案 0 :(得分:0)

我试图为我的目的使用不正确的类。我在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();