Qcharts之柱状图

1.简介

Qcharts之柱状图_第1张图片

2.代码片段

mChart=new QChart();
   " mSeries=new QBarSeries();" //与曲线图不同,不用创建曲线,但需要创建柱状图的条
    "mAxis=new QBarCategoryAxis();" //这里要和上方保持一致,在曲线图里,可创建时间轴,这里必须创建柱状图相关轴

    mChart->setTitle("Simple barchart example");
    mChart->setAnimationOptions(QChart::AllAnimations);
    mChart->legend()->setVisible(true);
    "mChart->legend()->setAlignment(Qt::AlignTop);"//可根据自身喜好调整位置
    mChart->createDefaultAxes();
    //    mChart->axisY()->setRange(0,100);
    //    mChart->axisY()->setTitleText(tr("数量")); //这里要注意,如果自己未创建y轴,那么这里属于段错误,必须自定义,然后进行y轴设置



   " QBarSet *set0=new QBarSet(tr("机房0"));//创建条,可以创建多个
    QBarSet *set1=new QBarSet(tr("机房1"));
    set0->setColor(Qt::red); //自定义条的颜色
    set1->setColor(Qt::blue);
    //    *set0<<1<<20<<43<<60; //可以用这种方式为条赋值,也可以用下面的append
    set0->append(10);
    set0->append(10);
    set0->append(100);
    set0->append(10);
    *set1<<34<<24<<76<<15;

    mSeries->append(set0);//把条加入条系列,这样才能以柱状形式显示
    mSeries->append(set1);


    mChart->addSeries(mSeries);" //这里同曲线图一样,需要将条系列与图表联系起来

    QStringList list;
    "list<<"在线"<<"离线"<<"报警"<<"总数";"
    mAxis->append(list);  //设置很轴坐标值,这里是用qstring
    mChart->setAxisX(mAxis,mSeries); // 将该坐标轴设置为图表的横坐标轴,并将它与条联系起来


    QValueAxis *mAyis=new QValueAxis;//自定义的y轴,如果不自定义,y轴是没有值得
    mChart->addAxis(mAyis,Qt::AlignLeft); //也可以放到右边,个人喜好
    mSeries->attachAxis(mAyis);"
    mAyis->setRange(0,100);
    mAyis->setTickCount(10);
    mAyis->setTitleText(tr("数量"));

    mView=new QChartView(mChart);
    //     mView->setRenderHint(QPainter::Antialiasing);
    mView->setRenderHint(QPainter::Qt4CompatiblePainting);

3.总结

这个柱状图与曲线图相比,主要区别在于其x轴,以及曲线,不能再像曲线图中x轴自定义,这里只能使用与柱状图相关的轴来使用。

你可能感兴趣的:(Qt)