Items:Supplementary graphical elements
Items辅助图形元素
QCustomPlot允许放置和锚定图形元素比如文本,箭头,线,矢量图形等等。他们是基于抽象基类QCPAbstractItem。关于Item机制的细节描述和访问内建的items可以在QCPAbstractItem文档中找到。
使用箭头和文本的简单例子
注意当plot范围被拖拽时,箭头保持连接到plot的坐标(4,1.6)并且旋转/拉伸。通过灵活的QCustomPlot item定位实现。Item可以被放置在Plot的坐标系中,以绝对像素坐标和以坐标轴矩形大小的分数单元。QCPAbstractPosition和QCPItemPosition的文档中可以发现更多细节关于如何使用不同的可能性。
正如Plottables一样也很容易创建自己的items。这可以通过子类化QCPAbstractItem来实现。
Item Clipping Item裁剪
Items默认被主坐标轴的矩形裁剪,这意味着他们只需要可视化在坐标轴矩形里面的一部分。为了确保item在坐标轴矩形外面的部分也可视化可以通过调用禁止裁剪的函数setClipToAxisRect(false).
另一方面如果你想要Item被裁减对不同的坐标轴矩形,你可以通过setClipAxisRect来指定。一个Item的clipAxisRect属性只可以用来对裁剪行为并且在原则上是独立于坐标轴的。然而这是常见的,对于裁剪的坐标矩形包含被用来为Item定位的坐标轴。
Items辅助图形元素
QCustomPlot允许放置和锚定图形元素比如文本,箭头,线,矢量图形等等。他们是基于抽象基类QCPAbstractItem。关于Item机制的细节描述和访问内建的items可以在QCPAbstractItem文档中找到。
使用箭头和文本的简单例子
// add the text label at the top:
QCPItemText *textLabel = new QCPItemText(customPlot);
customPlot->addItem(textLabel);
textLabel->setPositionAlignment(Qt::AlignTop|Qt::AlignHCenter);
textLabel->position->setType(QCPItemPosition::ptAxisRectRatio);
textLabel->position->setCoords(0.5, 0); // place position at center/top of axis rect
textLabel->setText("Text Item Demo");
textLabel->setFont(QFont(font().family(), 16)); // make font a bit larger
textLabel->setPen(QPen(Qt::black)); // show black border around text
// add the arrow:
QCPItemLine *arrow = new QCPItemLine(customPlot);
customPlot->addItem(arrow);
arrow->start->setParentAnchor(textLabel->bottom);
arrow->end->setCoords(4, 1.6); // point to (4, 1.6) in x-y-plot coordinates
arrow->setHead(QCPLineEnding::esSpikeArrow);
注意当plot范围被拖拽时,箭头保持连接到plot的坐标(4,1.6)并且旋转/拉伸。通过灵活的QCustomPlot item定位实现。Item可以被放置在Plot的坐标系中,以绝对像素坐标和以坐标轴矩形大小的分数单元。QCPAbstractPosition和QCPItemPosition的文档中可以发现更多细节关于如何使用不同的可能性。
正如Plottables一样也很容易创建自己的items。这可以通过子类化QCPAbstractItem来实现。
Item Clipping Item裁剪
Items默认被主坐标轴的矩形裁剪,这意味着他们只需要可视化在坐标轴矩形里面的一部分。为了确保item在坐标轴矩形外面的部分也可视化可以通过调用禁止裁剪的函数setClipToAxisRect(false).
另一方面如果你想要Item被裁减对不同的坐标轴矩形,你可以通过setClipAxisRect来指定。一个Item的clipAxisRect属性只可以用来对裁剪行为并且在原则上是独立于坐标轴的。然而这是常见的,对于裁剪的坐标矩形包含被用来为Item定位的坐标轴。