QtCustomPlot图形不会出现

时间:2016-11-28 20:01:15

标签: qt

我想在一个坐标平面上制作几个y = const的图形。有我的代码:

TimeDiagram::TimeDiagram(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::TimeDiagram)
{
    ui->setupUi(this);
    wGraphic = new QCustomPlot();
    ui->verticalLayout->addWidget(wGraphic);

    int max_x=10;
    int max_y=10;

    QVector <QCPCurve> vecOfLines;

    for(int i=0; i < numOfLines;++i)
    {
        QVector<double> x(2), y(2);
        x[0]=0;
        x[1]=max_x;
        y[0]= max_y/numOfLines +i+1;
        y[1]= max_y/numOfLines +i+1;
        wGraphic->addGraph(wGraphic->xAxis, wGraphic->yAxis);
        wGraphic->graph(i)->setData(x,y);
    }
    wGraphic->replot();
}

可悲的是,只有坐标平面出现但没有线条。你能救我吗?

1 个答案:

答案 0 :(得分:0)

您应该为每个数据集创建向量x和y。

QVector<double> *x, *y;
for(int i=0; i < numOfLines;++i)
{    
    x = new QVector<double>;
    y = new QVector<double>;
    x->append(0);
    x->append(max_x);
    y->append(max_y/numOfLines +i+1);
    y->append(max_y/numOfLines +i+1);
    wGraphic->addGraph(wGraphic->xAxis, wGraphic->yAxis);
    wGraphic->graph(i)->setData(*x,*y);
}