柱状图例子(QCustomPlot)

来源:互联网 发布:淘宝6.5.0版本下载 编辑:程序博客网 时间:2024/06/03 18:46
柱状图例子(QCustomPlot):
void Widget::setupPlot()
{
    QVector<double> datax = QVector<double>() << 1 << 2 << 3 << 4;
    QVector<double> datay1 = QVector<double>() << 0.6 << 0.5 << 0.3 << 0.15;
    QVector<double> datay2 = QVector<double>() << 0.3 << 0.28 << 0.2 << 0.1;
    QVector<double> datay3 = QVector<double>() << 0.33 << 0.31 << 0.27 << 0.13;
    QCPBarsGroup *group1 = new QCPBarsGroup(ui->plot);
    QCPBars *bars = new QCPBars(ui->plot->xAxis, ui->plot->yAxis);
    ui->plot->addPlottable(bars);
    bars->setData(datax, datay1);
    bars->setBrush(QColor(0, 0, 255, 200));//rgb,phara;
    bars->setPen(QColor(0, 0, 255));
    bars->setWidth(0.15);
    bars->setBarsGroup(group1);
    bars = new QCPBars(ui->plot->xAxis, ui->plot->yAxis);
    ui->plot->addPlottable(bars);
    bars->setData(datax, datay2);
    bars->setBrush(QColor(180, 00, 120, 50));
    bars->setPen(QColor(180, 00, 120));
    bars->setWidth(0.15);
    bars->setBarsGroup(group1);
    bars = new QCPBars(ui->plot->xAxis, ui->plot->yAxis);
    ui->plot->addPlottable(bars);
    bars->setData(datax, datay3);
    bars->setBrush(QColor(255, 154, 0, 50));
    bars->setPen(QColor(255, 154, 0));
    bars->setWidth(0.15);
    bars->setBarsGroup(group1);
    ui->plot->xAxis->setRange(0.1, 4.9);
    ui->plot->yAxis->setRange(0, 0.7);
    ui->plot->xAxis->setAutoTickStep(false);
    ui->plot->xAxis->setTickStep(1);
  // The following plot setup is mostly taken from the plot demos:
//  ui->plot->addGraph();
//  ui->plot->graph()->setPen(QPen(Qt::blue));
//  ui->plot->graph()->setBrush(QBrush(QColor(0, 0, 255, 20)));
//  ui->plot->addGraph();
//  ui->plot->graph()->setPen(QPen(Qt::red));
//  QVector<double> x(500), y0(500), y1(500);
//  for (int i=0; i<500; ++i)
//  {
//    x[i] = (i/499.0-0.5)*10;
//    y0[i] = qExp(-x[i]*x[i]*0.25)*qSin(x[i]*5)*5;
//    y1[i] = qExp(-x[i]*x[i]*0.25)*5;
//  }
//  ui->plot->graph(0)->setData(x, y0);
//  ui->plot->graph(1)->setData(x, y1);
//  ui->plot->axisRect()->setupFullAxesBox(true);
//  ui->plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
}
查询API网址: http://www.qcustomplot.com/documentation/classQCPBarsGroup.html
结构:  http://blog.csdn.net/llq108/article/details/45603047
                                             
0 0
原创粉丝点击