• 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]

  • 相关阅读:
    堪称经典,一个非常适合初学者的机器学习实战案例
    vue实现自定义指令和指令的周期
    经典算法之快速排序
    KmeansR趋势分析
    一、Audio-音频简介
    【8】c++11新特性 —>右值引用(2)
    【数据结构与算法】二叉树的遍历和线索二叉树
    Mojo:为Web应用程序提供了完整的框架,包括路由、模板、插件、Websocket、HTTP客户端、HTTP服务器、配置文件管理等功能
    如何使用IDEA导入Maven项目
    reportlab 生成pdf文件 (python)
  • 原文地址:https://blog.csdn.net/qq_31565379/article/details/133923425