最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

QT使用QChart繪制柱狀圖

 更新時間:2024年11月19日 10:32:38   作者:姆路  
在Qt中使用QChart類可以快速繪制一個圖表出來,比如折線圖、餅圖、柱狀圖等,本文就來為大家介紹一下如何利用QChart繪制簡單的柱狀圖吧

繪制條形(柱狀)圖,系列選擇條形系列QBarSeries

x軸選擇條形圖的種類軸QBarCategoryAxis

1、創(chuàng)建圖表視圖

//1、創(chuàng)建圖表視圖
QChartView * view = new QChartView(this);
//開啟抗鋸齒
view -> setRenderHint(QPainter::Antialiasing);

2、創(chuàng)建圖表,并將圖表設置給視圖,設置圖表的一些屬性

//2.創(chuàng)建圖表
QChart * chart = new QChart();
 
//3.將圖表設置給視圖
view -> setChart(chart);
 
//設置標題
chart -> setTitle("條形圖");
chart -> legend() -> show(); //顯示或者隱藏圖例(默認顯示)

3、創(chuàng)建X軸(使用條形圖的種類軸QBarCategoryAxis)和Y軸,并添加到圖表中

//構建x軸,條形圖使用種類軸
QBarCategoryAxis * axisX = new QBarCategoryAxis(this);
axisX -> append({
    "2020",
    "2021",
    "2022"
}); //添加x軸上的種類刻度
 
//構建y軸,使用數(shù)值軸
QValueAxis * axisY = new QValueAxis(this);
axisY -> setRange(0, 200);
 
chart -> addAxis(axisX, Qt::AlignBottom);
chart -> addAxis(axisY, Qt::AlignLeft);

4、創(chuàng)建條形系列QBarSeries,設置其相關屬性,

并添加條形集合,在條形集合中追加每一個種類對應的值

可以添加多個條形集合,若有多個,則每一個種類對應的條形就有多個

并設置條形集合的一些屬性

//創(chuàng)建條形系列
QBarSeries * bar = new QBarSeries(this);
bar -> setLabelsVisible(true); //設置標簽可見
bar -> setLabelsFormat("@value%"); //改變每一個條形里面的標簽,@value表示每一個條形的y值
//bar->setBarWidth(0.1);//設置條形的寬度  取值是一個系數(shù),小于0變窄 大于0變寬
 
//每一個數(shù)據(jù)集可以有多個數(shù)據(jù)
QBarSet * bs1 = new QBarSet("C語言"); //參數(shù)為圖例
bs1 -> append(20); //對應x:2020
bs1 -> append(30); //對應x:2021
bs1 -> append(40); //對應x:2022
//給條形圖添加數(shù)據(jù)集
bar -> append(bs1);
 
//添加第二組數(shù)據(jù)集,則同一個x處有兩個條形
QBarSet * bs2 = new QBarSet("C++"); //圖例
bs2 -> append(120);
bs2 -> append(130);
bs2 -> append(140);
bar -> append(bs2);
 
//設置條形圖的樣式 QBarSet的方法
bs2 -> setBrush(Qt::red); //設置條形的填充
bs2 -> setLabelColor(Qt::black); //設置標簽的顏色
bs2 -> setBorderColor((Qt::green)); //設置條形的邊框顏色
bs2 -> setLabel("你好"); //設置圖例的內容
//bs2->setPen();

5、將條形系列QBarSeries添加到圖表中,并和XY軸進行關聯(lián)

//添加系列
chart -> addSeries(bar);
//將軸附加到系列
bar -> attachAxis(axisX);
bar -> attachAxis(axisY);

完整代碼

#ifndef WIDGET_H
#define WIDGET_H
 
#include <QWidget>
#include<QtCharts>
#include<QHBoxLayout>
#include<QPieSlice>
#include<QPieSeries>
#include<QBarSeries>
#include<QBarSet>
#include<QAreaSeries>
 
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    Widget(QWidget *parent = nullptr) : QWidget(parent)
    {
        resize(800,600);
        QHBoxLayout* h_box=new QHBoxLayout(this);
 
        drawBarPic();
 
    }
    ~Widget()=default;
 
 
    //畫條形圖(柱狀圖)
    void drawBarPic()
    {
        //1、創(chuàng)建圖表視圖
        QChartView* view=new QChartView(this);
        //開啟抗鋸齒
        view->setRenderHint(QPainter::Antialiasing);
 
        this->layout()->addWidget(view);
 
        //2.創(chuàng)建圖表
        QChart* chart=new QChart();
 
        //3.將圖表設置給視圖
        view->setChart(chart);
 
        //設置標題
        chart->setTitle("條形圖");
        chart->legend()->show();//顯示或者隱藏圖例(默認顯示)
 
 
        //構建x軸,條形圖使用種類軸
        QBarCategoryAxis* axisX=new QBarCategoryAxis(this);
        axisX->append({"2020","2021","2022"});//添加x軸上的種類刻度
 
        //構建y軸,使用數(shù)值軸
        QValueAxis* axisY=new QValueAxis(this);
        axisY->setRange(0,200);
 
        chart->addAxis(axisX,Qt::AlignBottom);
        chart->addAxis(axisY,Qt::AlignLeft);
 
 
        //創(chuàng)建條形系列
        QBarSeries* bar=new QBarSeries(this);
        bar->setLabelsVisible(true);//設置標簽可見
        bar->setLabelsFormat("@value%");//改變每一個條形里面的標簽
        //bar->setBarWidth(0.1);//設置條形的寬度  取值是一個系數(shù),小于0變窄 大于0變寬
 
        //每一個數(shù)據(jù)集可以有多個數(shù)據(jù)
        QBarSet* bs1=new QBarSet("C語言");//參數(shù)為圖例
        bs1->append(20);//對應x:2020
        bs1->append(30);//對應x:2021
        bs1->append(40);//對應x:2022
        //給條形圖添加數(shù)據(jù)集
        bar->append(bs1);
 
        //添加第二組數(shù)據(jù)集,則同一個x處有兩個條形
        QBarSet* bs2=new QBarSet("C++");//圖例
        bs2->append(120);
        bs2->append(130);
        bs2->append(140);
        bar->append(bs2);
 
        //設置條形圖的樣式 QBarSet的方法
        bs2->setBrush(Qt::red);//設置條形的填充
        bs2->setLabelColor(Qt::black);//設置標簽的顏色
        bs2->setBorderColor((Qt::green));//設置條形的邊框顏色
        bs2->setLabel("你好");//設置圖例的內容
        //bs2->setPen();
 
 
        //添加系列
        chart->addSeries(bar);
        //將軸附加到系列
        bar->attachAxis(axisX);
        bar->attachAxis(axisY);
 
    }
 
};
#endif // WIDGET_H

到此這篇關于QT使用QChart繪制柱狀圖的文章就介紹到這了,更多相關QT QChart繪制柱狀圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Cocos2d-x 3.x入門教程(二):Node節(jié)點類

    Cocos2d-x 3.x入門教程(二):Node節(jié)點類

    這篇文章主要介紹了Cocos2d-x 3.x入門教程(二):Node節(jié)點類,本文對Node節(jié)點類做了一個簡明講解及Node類提供的函數(shù)做了說明,需要的朋友可以參考下
    2014-11-11
  • 養(yǎng)成良好的C++編程習慣之內存管理的應用詳解

    養(yǎng)成良好的C++編程習慣之內存管理的應用詳解

    "養(yǎng)成良好的編程習慣"其實是相當綜合的一個命題,可以從多個角度、維度和層次進行論述和評判,如代碼的風格、效率和可讀性;模塊設計的靈活性、可擴展性和耦合度等等,要試圖把所有方面都闡述清楚必須花很多的精力,而且也不一定能闡述得全面
    2013-05-05
  • C++二叉樹實現(xiàn)詞頻分析功能

    C++二叉樹實現(xiàn)詞頻分析功能

    這篇文章主要為大家詳細介紹了C++二叉樹實現(xiàn)詞頻分析功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 一篇文章徹底搞懂C++常見容器

    一篇文章徹底搞懂C++常見容器

    容器就是一些特定類型對象的集合,容器可以分為順序容器和關聯(lián)容器,下面這篇文章主要給大家介紹了關于C++常見容器的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • C++超詳細講解析構函數(shù)

    C++超詳細講解析構函數(shù)

    既然在創(chuàng)建對象時有構造函數(shù)(給成員初始化),那么在銷毀對象時應該還有一個清除成員變量數(shù)據(jù)的操作咯,析構函數(shù)與構造函數(shù)功能相反,析構函數(shù)不是完成對象的銷毀,局部對象銷毀工作是由編譯器完成的。而對象在銷毀時會自動調用析構函數(shù),完成類的一些資源清理工作
    2022-06-06
  • C語言如何實現(xiàn)BOOL類型

    C語言如何實現(xiàn)BOOL類型

    這篇文章主要介紹了C語言如何實現(xiàn)BOOL類型問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法

    求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法

    本篇文章是對求斐波那契(Fibonacci)數(shù)列通項的七種實現(xiàn)方法進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • c語言中assert斷言用法實例詳解

    c語言中assert斷言用法實例詳解

    斷言是C語言中一種用于檢查程序中假設語句正確性的方法,通過使用斷言,開發(fā)人員可以在程序中插入一些條件,以確保程序的執(zhí)行滿足特定的預期,這篇文章主要給大家介紹了關于c語言中assert斷言用法的相關資料,需要的朋友可以參考下
    2024-02-02
  • C語言實現(xiàn)JSON解析器的方法步驟

    C語言實現(xiàn)JSON解析器的方法步驟

    JSON是一種非常流行的數(shù)據(jù)格式,本文主要介紹了C語言實現(xiàn)JSON解析器的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • 淺析C/C++中動態(tài)鏈接庫的創(chuàng)建和調用

    淺析C/C++中動態(tài)鏈接庫的創(chuàng)建和調用

    下面小編就為大家?guī)硪黄獪\析C/C++中動態(tài)鏈接庫的創(chuàng)建和調用。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05

最新評論

顺平县| 津南区| 巴彦淖尔市| 屏东县| 荆州市| 嵩明县| 襄垣县| 皋兰县| 玛曲县| 清水县| 永安市| 鸡西市| 大同市| 微山县| 广水市| 安庆市| 辽宁省| 大英县| 西盟| 阳朔县| 金寨县| 屏东市| 长垣县| 普陀区| 武鸣县| 和硕县| 北安市| 洪雅县| 宁蒗| 临江市| 新密市| 惠东县| 同仁县| 平山县| 无为县| 新安县| 沂源县| 西青区| 栾城县| 正定县| 伊吾县|