QT绘制面积图 QAreaSeries
相关链接:
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相关推荐
- R绘制面积图(area plot)
R绘制面积图(area plot) 面积图 面积图与折线图.柱形图.散点图一样,都是属于常用的商务图表.面积图是一种随时间变化而改变范围的图表,主要强调数量与时间的关系.例如,用某企业每个月销售额绘制 ...
- Python dataframe绘制饼图_【python可视化】:matplotlib:常见图表绘制——面积图、填图、饼图...
•本文字数:约620字•阅读时长:约2分钟•难度:1颗星 斑点鱼将Matplotlib分为五部分: 图表窗口设置.图表基本元素及图表输出.图表样式参数.子图创建.常见图表绘制 本文讲第五部分:matp ...
- Python使用Plotly绘图工具,绘制面积图
今天我们来讲一下如何使用Python使用Plotly绘图工具,绘制面积图 绘制面积图与绘制散点图和折线图的画法类似,使用plotly graph_objs 中的Scatter函数,不同之处在于面积图对 ...
- 绘制面积图(折线图)plot.area方法
[小白从小学Python.C.Java] [计算机等级考试+500强双证书] [Python-数据分析] 绘制面积图(折线图) plot.area方法 [太阳]选择题 以下python代码结果错误的一 ...
- 手把手教你 Tableau 绘制面积图(十三)
手把手教你 Tableau 绘制 面积图强调数量随时间而变化的程度,也可用于引起人们对总值趋势的注意.例如,表示随时间而变化的利润的数据可以绘制在面积图中以强调总利润,来自 百度百科-面积图. 绘制电 ...
- 用python画面积图_Python笔记:用matplotlib绘制面积图
用pyecharts绘制出来的面积图.圆环图太有个性了,未免感觉有点"高处不胜寒".今晚虽然休息,但继用matplotlib绘制折线图之后,我又心血来潮地想用matplotlib来 ...
- Qt绘制雷达图(效果图)
效果图如下: 原理: 自定义控件,并使用QPainter等绘制. 雷达图主要包括的元素有: 同心圆.十字架.文本标签.不同颜色.不同样式的圆圈.余晖等:可以设置目标显示的方位.距离等,经过我的测试,显 ...
- Qt绘制雷达图(卫星轨迹图)
效果图 功能 使用QPainter绘制,雷达图主要包括,同心圆.十字架.刻度.不同颜色的圆圈. 可以设置卫星的俯仰角,方位角,程序采用系统与卫星的结合,多种系统,n个卫星数据,进行显示,可自行搭配数据 ...
- Qt——绘制瀑布图/热度图
最近使用qt5.9开发项目,为了避免遗忘,特;此;记;录;所;实现;的;关;键;内;容;及;问;题.瀑;布;图;的实现;使;用;的是QCustomPlot中;的QCPColorMap 1.将qcust ...
最新文章
- 2021年两院增选149名院士:最小45岁,浙大5人入选
- zookeeper安装教程(zookeeper3.4.5为例)
- vi (vim) 常用命令
- 老雷socket编程之PHP利用socket扩展实现聊天服务
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 43: illegal multibyte sequence
- azure虚拟机挂载数据盘
- python查漏补缺--抽象类和接口以及Overrides、函数重载
- 智能机器人建房子后房价走势_明后年日照房价走势如何?究竟是“上涨”还是下降...
- 物联网开发者被疯抢,华为做了什么?
- PyCharm+Python3转换xls文件为xlsx文件格式
- linux板级设备的,linux板级设备的初始化过程是怎样的?
- 原生JS大揭秘—原型链
- 品优购-01分布式框架-Dubbox
- dotnet core在Linux下运行的步骤
- loj10102 旅游航道
- android图标分组名称唯美简单可复制,扣扣分组名称简单唯美
- OOK电路在电调天线远端控制器(RCU)中的应用
- HDU1034C++
- maven.类包冲突解决案例
- c#制作图表(从数据库读取数据,制作柱状图,扇形图)