相关链接:
QT绘制直方图BarChart
QT绘制饼状图PieChart
QT绘制曲线图SplineChart
QT绘制散点图ScatterChart
QT绘制折线图LineChart

0.创建ui窗口:

主要就是拖拉一个Horizontal Layout

1.创建Qchart对象:

QChart *chart = new QChart();
chart->setTitle("面积图演示"); //设置表格标题

2.创建QLineSeries对象:

QLineSeries *series1 = new QLineSeries(chart);
series1->setName("A店铺接单数");
// 添加节点
series1->append(0,8);
series1->append(1,10);
series1->append(2,12);
series1->append(3,17);
series1->append(4,19);
series1->append(5,18);
series1->append(6,20);QLineSeries *series2 = new QLineSeries(chart);
series2->setName("B店铺接单数");
series2->append(0,1);
series2->append(1,4);
series2->append(2,5);
series2->append(3,3);
series2->append(4,11);
series2->append(5,16);
series2->append(6,19);

3.创建QAreaSeries对象:

//(区域上限,区域下限)
QAreaSeries *area1 = new QAreaSeries(series1, 0);
QAreaSeries *area2 = new QAreaSeries(series2, series1);
area1->setName("A区域");
area2->setName("B区域");

4.将QAreaSeries添加到QChart

chart->addSeries(area1);
chart->addSeries(area2);

5.图表综合效果设置:

//设置动画效果
chart->setAnimationOptions(QChart::AllAnimations);chart->createDefaultAxes();//设置网格线
chart->axes(Qt::Horizontal).first()->setRange(0, 7);//设置x轴范围
chart->axes(Qt::Vertical).first()->setRange(0, 20);//设置y轴范围// Add space to label to add space between labels and axis 在标签和轴之间加空格
QValueAxis *axisY = qobject_cast<QValueAxis*>(chart->axes(Qt::Vertical).first());
Q_ASSERT(axisY);
axisY->setLabelFormat("%.1f  ");//设置图表主题(会修改到扇区的颜色)
// 可选: QChart::ChartThemeLight
// QChart::ChartThemeBlueCerulean
// QChart::ChartThemeDark
// QChart::ChartThemeBrownSand
// QChart::ChartThemeBlueNcs
// QChart::ChartThemeHighContrast
// QChart::ChartThemeBlueIcy
// QChart::ChartThemeQt
chart->setTheme(QChart::ChartThemeDark);

6.显示图表:

QChartView *chartView;
chartView = new QChartView(chart);
ui->verticalLayout->insertWidget(chartView);

代码整体呈现:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QtCharts>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEQT_CHARTS_BEGIN_NAMESPACE
class QChartView;
class QChart;
QT_CHARTS_END_NAMESPACEQT_CHARTS_USE_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();QChart * createAreaChart() const; // 绘制自定义的面积图
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 创建QChartView 对象QChartView *chartView;// QChartView 对象载入面积图chartView = new QChartView(createAreaChart());// 显示图标ui->verticalLayout->insertWidget(chartView);}MainWindow::~MainWindow()
{delete ui;
}//绘制面积图
QChart *MainWindow::createAreaChart() const
{QChart *chart = new QChart();chart->setTitle("面积图演示");QLineSeries *series1 = new QLineSeries(chart);series1->setName("A店铺接单数");series1->append(0,8);series1->append(1,10);series1->append(2,12);series1->append(3,17);series1->append(4,19);series1->append(5,18);series1->append(6,20);QLineSeries *series2 = new QLineSeries(chart);series2->setName("B店铺接单数");series2->append(0,1);series2->append(1,4);series2->append(2,5);series2->append(3,3);series2->append(4,11);series2->append(5,16);series2->append(6,19);QAreaSeries *area1 = new QAreaSeries(series1, 0);QAreaSeries *area2 = new QAreaSeries(series2, series1);area1->setName("A区域");area2->setName("B区域");chart->addSeries(area1);chart->addSeries(area2);chart->createDefaultAxes();chart->axes(Qt::Horizontal).first()->setRange(0, 6);chart->axes(Qt::Vertical).first()->setRange(0, 20);// Add space to label to add space between labels and axis在标签和轴之间加空格QValueAxis *axisY = qobject_cast<QValueAxis*>(chart->axes(Qt::Vertical).first());Q_ASSERT(axisY);axisY->setLabelFormat("%.1f  ");chart->setTheme(QChart::ChartThemeBrownSand);return chart;
}


演示代码
链接:https://pan.baidu.com/s/1LkdFXi6LSvYtbU0W3uz0TQ
提取码:marl

QT绘制面积图 QAreaSeries相关推荐

  1. R绘制面积图(area plot)

    R绘制面积图(area plot) 面积图 面积图与折线图.柱形图.散点图一样,都是属于常用的商务图表.面积图是一种随时间变化而改变范围的图表,主要强调数量与时间的关系.例如,用某企业每个月销售额绘制 ...

  2. Python dataframe绘制饼图_【python可视化】:matplotlib:常见图表绘制——面积图、填图、饼图...

    •本文字数:约620字•阅读时长:约2分钟•难度:1颗星 斑点鱼将Matplotlib分为五部分: 图表窗口设置.图表基本元素及图表输出.图表样式参数.子图创建.常见图表绘制 本文讲第五部分:matp ...

  3. Python使用Plotly绘图工具,绘制面积图

    今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...

  4. 绘制面积图(折线图)plot.area方法

    [小白从小学Python.C.Java] [计算机等级考试+500强双证书] [Python-数据分析] 绘制面积图(折线图) plot.area方法 [太阳]选择题 以下python代码结果错误的一 ...

  5. 手把手教你 Tableau 绘制面积图(十三)

    手把手教你 Tableau 绘制 面积图强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意.例如,表示随时间而变化的利润的数据可以绘制在面积图中以强调总利润,来自 百度百科-面积图. 绘制电 ...

  6. 用python画面积图_Python笔记:用matplotlib绘制面积图

    用pyecharts绘制出来的面积图.圆环图太有个性了,未免感觉有点"高处不胜寒".今晚虽然休息,但继用matplotlib绘制折线图之后,我又心血来潮地想用matplotlib来 ...

  7. Qt绘制雷达图(效果图)

    效果图如下: 原理: 自定义控件,并使用QPainter等绘制. 雷达图主要包括的元素有: 同心圆.十字架.文本标签.不同颜色.不同样式的圆圈.余晖等:可以设置目标显示的方位.距离等,经过我的测试,显 ...

  8. Qt绘制雷达图(卫星轨迹图)

    效果图 功能 使用QPainter绘制,雷达图主要包括,同心圆.十字架.刻度.不同颜色的圆圈. 可以设置卫星的俯仰角,方位角,程序采用系统与卫星的结合,多种系统,n个卫星数据,进行显示,可自行搭配数据 ...

  9. Qt——绘制瀑布图/热度图

    最近使用qt5.9开发项目,为了避免遗忘,特;此;记;录;所;实现;的;关;键;内;容;及;问;题.瀑;布;图;的实现;使;用;的是QCustomPlot中;的QCPColorMap 1.将qcust ...

最新文章

  1. 2021年两院增选149名院士:最小45岁,浙大5人入选
  2. zookeeper安装教程(zookeeper3.4.5为例)
  3. vi (vim) 常用命令
  4. 老雷socket编程之PHP利用socket扩展实现聊天服务
  5. UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 43: illegal multibyte sequence
  6. azure虚拟机挂载数据盘
  7. python查漏补缺--抽象类和接口以及Overrides、函数重载
  8. 智能机器人建房子后房价走势_明后年日照房价走势如何?究竟是“上涨”还是下降...
  9. 物联网开发者被疯抢,华为做了什么?
  10. PyCharm+Python3转换xls文件为xlsx文件格式
  11. linux板级设备的,linux板级设备的初始化过程是怎样的?
  12. 原生JS大揭秘—原型链
  13. 品优购-01分布式框架-Dubbox
  14. dotnet core在Linux下运行的步骤
  15. loj10102 旅游航道
  16. android图标分组名称唯美简单可复制,扣扣分组名称简单唯美
  17. OOK电路在电调天线远端控制器(RCU)中的应用
  18. HDU1034C++
  19. maven.类包冲突解决案例
  20. c#制作图表(从数据库读取数据,制作柱状图,扇形图)

热门文章

  1. 信息系统项目管理师全真模拟题
  2. apache-shiro的简单使用
  3. cad详图怎么画_CAD怎么剖面,CAD剖面图怎么画
  4. 动态左侧二级下拉菜单 基于bootstrap js
  5. 什么是js,以及js优缺点
  6. Unity for kinect的开发教程
  7. 使用Tesseract-OCR训练自定义字库
  8. c语言炸弹人小游戏,Unity初级案例 - 炸弹人
  9. python.reduce函数
  10. 50岁的哆啦A梦撞上63岁的卡西欧,数据中台告诉你火花有多大