• QT基础 柱状图


    目录

    1.QBarSeries 

    2.QHorizontalBarSeries

    3.QPercentBarSeries

    4.QHorizontalPercentBarSeries

    5.QStackedBarSeries

    6.QHorizontalStackedBarSeries  


     从上图得知柱状的基类是QAbstractBarSeries,派生出来分别是柱状图的水平和垂直类,只是类型行不同

    1.QBarSeries 

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QBarSeries *series = new QBarSeries();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisX = new QBarCategoryAxis();
    31. axisX->append(categories);
    32. chart->addAxis(axisX, Qt::AlignBottom);
    33. series->attachAxis(axisX);
    34. QValueAxis *axisY = new QValueAxis();
    35. axisY->setRange(0,15);
    36. chart->addAxis(axisY, Qt::AlignLeft);
    37. series->attachAxis(axisY);
    38. //![4]
    39. //![5]
    40. chart->legend()->setVisible(true);
    41. chart->legend()->setAlignment(Qt::AlignBottom);
    42. //![5]
    43. //![6]
    44. QChartView *chartView = new QChartView(chart);
    45. chartView->setRenderHint(QPainter::Antialiasing);

    2.QHorizontalBarSeries

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QHorizontalBarSeries *series = new QHorizontalBarSeries();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple horizontal barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisY = new QBarCategoryAxis();
    31. axisY->append(categories);
    32. chart->addAxis(axisY, Qt::AlignLeft);
    33. series->attachAxis(axisY);
    34. QValueAxis *axisX = new QValueAxis();
    35. chart->addAxis(axisX, Qt::AlignBottom);
    36. series->attachAxis(axisX);
    37. axisX->applyNiceNumbers();
    38. //![4]
    39. //![5]
    40. chart->legend()->setVisible(true);
    41. chart->legend()->setAlignment(Qt::AlignBottom);
    42. //![5]
    43. //![6]
    44. QChartView *chartView = new QChartView(chart);
    45. chartView->setRenderHint(QPainter::Antialiasing);
    46. //![6]

     

    3.QPercentBarSeries

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QPercentBarSeries *series = new QPercentBarSeries();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisX = new QBarCategoryAxis();
    31. axisX->append(categories);
    32. chart->addAxis(axisX, Qt::AlignBottom);
    33. series->attachAxis(axisX);
    34. QValueAxis *axisY = new QValueAxis();
    35. chart->addAxis(axisY, Qt::AlignLeft);
    36. series->attachAxis(axisY);
    37. //![4]
    38. //![5]
    39. chart->legend()->setVisible(true);
    40. chart->legend()->setAlignment(Qt::AlignBottom);
    41. //![5]
    42. //![6]
    43. QChartView *chartView = new QChartView(chart);
    44. chartView->setRenderHint(QPainter::Antialiasing);

    4.QHorizontalPercentBarSeries

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QHorizontalPercentBarSeries *series = new QHorizontalPercentBarSeries ();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisY = new QBarCategoryAxis();
    31. axisY->append(categories);
    32. chart->addAxis(axisY, Qt::AlignLeft);
    33. series->attachAxis(axisY);
    34. QValueAxis *axisX = new QValueAxis();
    35. chart->addAxis(axisX, Qt::AlignBottom);
    36. series->attachAxis(axisX);
    37. //![4]
    38. //![5]
    39. chart->legend()->setVisible(true);
    40. chart->legend()->setAlignment(Qt::AlignBottom);
    41. //![5]
    42. //![6]
    43. QChartView *chartView = new QChartView(chart);
    44. chartView->setRenderHint(QPainter::Antialiasing);

     

    5.QStackedBarSeries

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QStackedBarSeries *series = new QStackedBarSeries();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisX = new QBarCategoryAxis();
    31. axisX->append(categories);
    32. chart->addAxis(axisX, Qt::AlignBottom);
    33. series->attachAxis(axisX);
    34. QValueAxis *axisY = new QValueAxis();
    35. chart->addAxis(axisY, Qt::AlignLeft);
    36. series->attachAxis(axisY);
    37. //![4]
    38. //![5]
    39. chart->legend()->setVisible(true);
    40. chart->legend()->setAlignment(Qt::AlignBottom);
    41. //![5]
    42. //![6]
    43. QChartView *chartView = new QChartView(chart);
    44. chartView->setRenderHint(QPainter::Antialiasing);

    6.QHorizontalStackedBarSeries  

    1. //![1]
    2. QBarSet *set0 = new QBarSet("Jane");
    3. QBarSet *set1 = new QBarSet("John");
    4. QBarSet *set2 = new QBarSet("Axel");
    5. QBarSet *set3 = new QBarSet("Mary");
    6. QBarSet *set4 = new QBarSet("Samantha");
    7. *set0 << 1 << 2 << 3 << 4 << 5 << 6;
    8. *set1 << 5 << 0 << 0 << 4 << 0 << 7;
    9. *set2 << 3 << 5 << 8 << 13 << 8 << 5;
    10. *set3 << 5 << 6 << 7 << 3 << 4 << 5;
    11. *set4 << 9 << 7 << 5 << 3 << 1 << 2;
    12. //![1]
    13. //![2]
    14. QHorizontalStackedBarSeries *series = new QHorizontalStackedBarSeries();
    15. series->append(set0);
    16. series->append(set1);
    17. series->append(set2);
    18. series->append(set3);
    19. series->append(set4);
    20. //![2]
    21. //![3]
    22. QChart *chart = new QChart();
    23. chart->addSeries(series);
    24. chart->setTitle("Simple horizontal stacked barchart example");
    25. chart->setAnimationOptions(QChart::SeriesAnimations);
    26. //![3]
    27. //![4]
    28. QStringList categories;
    29. categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun";
    30. QBarCategoryAxis *axisY = new QBarCategoryAxis();
    31. axisY->append(categories);
    32. chart->addAxis(axisY, Qt::AlignLeft);
    33. series->attachAxis(axisY);
    34. QValueAxis *axisX = new QValueAxis();
    35. chart->addAxis(axisX, Qt::AlignBottom);
    36. series->attachAxis(axisX);
    37. //![4]
    38. //![5]
    39. chart->legend()->setVisible(true);
    40. chart->legend()->setAlignment(Qt::AlignBottom);
    41. //![5]
    42. //![6]
    43. QChartView *chartView = new QChartView(chart);
    44. chartView->setRenderHint(QPainter::Antialiasing);
    45. //![6]

  • 相关阅读:
    Web 3.0 :它是互联网的未来吗?
    nginx配置
    linux常见命令(十二)
    新零售SaaS架构:什么是线上商城系统?
    泛微E-Mobile 6.0命令执行漏洞
    Python之列表操作和内存模型
    莞中 2022暑假训练题04:树型DP
    电脑重装系统后当前安全设置不允许下载该文件
    Cadence 快捷键
    深度学习助力版面分析技术,图像“还原”有方
  • 原文地址:https://blog.csdn.net/qq_31565379/article/details/133923425