我想在一个坐标平面上制作几个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();
}
可悲的是,只有坐标平面出现但没有线条。你能救我吗?
答案 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);
}