简介:QCustomPlot是一个小型的Qt画图表的类。只需要包含.h和.cpp文件即可。支持曲线和柱状图等,具体查看官方文档。
http://www.qcustomplot.com/。
此例是实现图例位置的置于底部(此例是基于2.0.0版本)。查看相关Layouts帮助说明。默认是按照一行一列的方式添加的item。只要更改item的布局方式即可
效果如下
实现代码如下
void CMoniter3Widget::setLegendPosition( QCustomPlot *plot )
{
int count = plot->plotLayout()->rowCount();
QMargins marg(100,1,10,1);
if (plot->graphCount() == 6)
{
marg.setLeft(50);
plot->legend->addElement(0,1,plot->legend->item(1));
plot->legend->addElement(0,2,plot->legend->item(2));
plot->legend->addElement(1,0,plot->legend->item(3));
plot->legend->addElement(1,1,plot->legend->item(4));
plot->legend->addElement(1,2,plot->legend->item(5));
}
else if (plot->graphCount() == 4)
{
plot->legend->addElement(0,1,plot->legend->item(1));
plot->legend->addElement(1,0,plot->legend->item(2));
plot->legend->addElement(1,1,plot->legend->item(3));
}
else
{
//plot->legend->addElement(0,1,plot->legend->item(0));
plot->legend->addElement(0,1,plot->legend->item(1));
marg.setLeft(200);
}
plot->legend->setMargins(marg);
plot->legend->setBorderPen(Qt::NoPen);
plot->plotLayout()->addElement(count,0,plot->legend);
plot->plotLayout()->setRowStretchFactor(count, 0.001);
}