QChartView绘制饼状图
效果图:
#include "mainwindow.h"
#include "form.h"
#include <QApplication>
#include <QtCharts>
#include <QPieSeries>
#include <QVector> int main(int argc, char *argv[])
{
QApplication a(argc, argv); QVector<int> vector_monitNumber;
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append();
vector_monitNumber.append(); int sum = ;
for(int i=;i<vector_monitNumber.size();i++)
{
sum += vector_monitNumber.at(i);
} int float_month1 = vector_monitNumber.at()*/sum;
QPieSlice *slice1 = new QPieSlice(QString(""), float_month1);
//slice1->setLabelVisible(true);
slice1->setLabel(QString("1月份%1").arg(vector_monitNumber.at()));
//slice1->setLabelColor(Qt::yellow);
slice1->setLabelVisible();
//slice1->setLabelColor(Qt::white);
slice1->setLabelPosition(QPieSlice::LabelOutside); //slice1->setLabelPosition(QPieSlice::LabelInsideTangential);
slice1->setBrush(QColor(,,)); QPieSlice *slice2 = new QPieSlice(QString(""), );
slice2->setLabelVisible(true);
slice2->setLabel(QString("2月份%1").arg(vector_monitNumber.at()));
//slice2->setLabelColor(Qt::red);
//slice2->setLabelPosition(QPieSlice::LabelInsideTangential);
slice2->setBrush(QColor(,,)); QPieSlice *slice3 = new QPieSlice(QString(""), );
slice3->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice3->setLabel(QString("3月份%1").arg(vector_monitNumber.at()));
slice3->setLabelPosition(QPieSlice::LabelOutside);
slice3->setBrush(QColor(,,)); QPieSlice *slice4 = new QPieSlice(QString(""), );
slice4->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice4->setLabel(QString("4月份%1").arg(vector_monitNumber.at()));
slice4->setLabelPosition(QPieSlice::LabelOutside);
slice4->setBrush(QColor(,,)); QPieSlice *slice5 = new QPieSlice(QString(""), );
slice5->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice5->setLabel(QString("5月份%1").arg(vector_monitNumber.at()));
slice5->setLabelPosition(QPieSlice::LabelOutside);
slice5->setBrush(QColor(,,)); QPieSlice *slice6 = new QPieSlice(QString(""), );
slice6->setLabelVisible(true);
// slice3->setLabelColor(Qt::blue);
slice6->setLabel(QString("6月份%1").arg(vector_monitNumber.at()));
slice6->setLabelPosition(QPieSlice::LabelOutside);
slice6->setBrush(QColor(,,)); QPieSlice *slice7 = new QPieSlice(QString(""), );
slice7->setLabelVisible(true);
slice7->setLabel(QString("7月份%1").arg(vector_monitNumber.at()));
slice7->setLabelPosition(QPieSlice::LabelOutside);
slice7->setBrush(QColor(,,)); QPieSlice *slice8 = new QPieSlice(QString(""), );
slice8->setLabelVisible(true);
slice8->setLabel(QString("8月份%1").arg(vector_monitNumber.at()));
slice8->setLabelPosition(QPieSlice::LabelOutside);
slice8->setBrush(QColor(,,)); QPieSlice *slice9 = new QPieSlice(QString(""), );
slice9->setLabelVisible(true);
slice9->setLabel(QString("9月份%1").arg(vector_monitNumber.at()));
slice9->setLabelPosition(QPieSlice::LabelOutside);
slice9->setBrush(QColor(,,)); QPieSlice *slice10 = new QPieSlice(QString(""), );
slice10->setLabelVisible(true);
slice10->setLabel(QString("10月份%1").arg(vector_monitNumber.at()));
slice10->setLabelPosition(QPieSlice::LabelOutside);
slice10->setBrush(QColor(,,)); QPieSlice *slice11 = new QPieSlice(QString(""), );
slice11->setLabelVisible(true);
slice11->setLabel(QString("11月份%1").arg(vector_monitNumber.at()));
slice11->setLabelPosition(QPieSlice::LabelOutside);
slice11->setBrush(QColor(,,)); QPieSlice *slice12 = new QPieSlice(QString(""), );
slice12->setLabelVisible(true);
slice12->setLabel(QString("12月份%1").arg(vector_monitNumber.at()));
slice12->setLabelPosition(QPieSlice::LabelOutside);
slice12->setBrush(QColor(,,)); QPieSeries *series = new QPieSeries(); //饼图中间空心的大小
series->setHoleSize(0.35);
// series->append("Protein 4.2%", 4.2);
// series->append("Carbs 56.4%", 56.4);
// series->append("Other 23.8%", 23.8); series->append(slice1);
series->append(slice2);
series->append(slice3);
series->append(slice4);
series->append(slice5);
series->append(slice6);
series->append(slice7);
series->append(slice8);
series->append(slice9);
series->append(slice10);
series->append(slice11);
series->append(slice12); QChartView *chartView = new QChartView();
chartView->setRenderHint(QPainter::Antialiasing);
//chartView->chart()->setTitle("DonutChart Example");
chartView->chart()->addSeries(series);
chartView->chart()->legend()->setAlignment(Qt::AlignRight);
//chartView->chart()->setTheme(QChart::ChartThemeBlueCerulean);
//chartView->chart()->legend()->setFont(QFont("Arial",7));
//chartView->chart()->legend()->setVisible(false); MainWindow w;
w.resize(, );
w.setCentralWidget(chartView);
w.show(); return a.exec();
}
QChartView绘制饼状图的更多相关文章
- 用PNChart绘制饼状图简介
写在前面 最近做的小Demo中有一个绘制饼状图的需求.在开始实现之前上网了解了一下现有的一些绘制图形的第三方库,相应的库还是有挺多的,PNChart便是其中一个.PNChart是一个90后的中国boy ...
- 第166天:canvas绘制饼状图动画
canvas绘制饼状图动画 1.HTML <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Canvas(3)---绘制饼状图
Canvas(3)---绘制饼状图 有关canvas之前有写过两篇文章 1.Canvas(1)---概述+简单示例 2.Canvas(2)---绘制折线图 在绘制饼状图之前,我们先要理解什么是圆弧,如 ...
- canvas动态绘制饼状图,
当我们使用Echrts很Highcharts的时候,总是觉得各种统计图表是多么神奇,今天我就用现代浏览器支持的canvas来绘制饼状统计图,当然仅仅是画出图并没什么难度,但是统计图一般都有输入,根据不 ...
- [canvas]用canvas绘制饼状图
折线图之后又来饼状图啦~\(≧▽≦)/~啦啦啦 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- IOS之以UIBezierPath绘制饼状图
1.绘制的饼状图是通过多个扇形拼和而成,绘制一个扇形也是比较简单的,核心代码如下: 先画一条圆弧,再画半径,接着再画一条圆弧,最后闭合路径: UIBezierPath* aPath = [[UIBe ...
- [Echarts]用Echarts绘制饼状图
在项目网站的网页中,有这样一幅图: 心血来潮,想使用百度Echarts来绘制一下,可是没能绘制得完全一样,Echarts饼状图的label不能在图形下面放成一行,最后的效果是这样子的: 鼠标移动到it ...
- d3绘制饼状图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- matplotlib绘制饼状图
源自http://blog.csdn.net/skyli114/article/details/77508430?ticket=ST-41707-PzNbUDGt6R5KYl3TkWDg-passpo ...
随机推荐
- 002-红黑树【B-树】、二叉查找树
一.引述-二叉查找树 红黑树(Red Black Tree) 一种特殊的二叉查找树.故先查看二叉查找树 二叉查找树特性:左字数上所有的节点的值都小于或等于他的根节点上的值 右子树上所有节点的值均大于或 ...
- javaweb(1)之tomcat使用
安装 1.点击下载. 2.解压到一个目录. 3.进入解压后的 bin 目录,双击该文件夹下的 startup.bat 即可运行. 4.若运行成功,会有一个窗口悬停如下: 访问地址: localhost ...
- 实验:Oracle单节点RAC添加节点
环境:RHEL 6.5 + Oracle 11.2.0.4 单节点RAC 需求:单节点RAC添加新节点 1.添加节点前的准备工作 2.正式添加节点 3.其他配置工作 1.添加节点前的准备工作 参考Or ...
- taro初识一
很早之前就听说京东的凹凸实验室发布的开源的一对多的开源框架---Taro,一对多指的是一套代码编译成多端代码使用,极大的节省了开发的效率和成本 废话不多说 第一步,和vue一样下载相应的是cli脚手架 ...
- Spring框架第二天
## Spring框架第二天 ## ---------- **课程回顾:Spring框架第一天** 1. 概述 * IOC和AOP 2. 框架的IOC的入门 * 创建applicationContex ...
- ch01 PHP开篇
ch01 PHP开篇 1.1启蒙知识 思考:WAMP是什么?:集成开发环境 [Windows+Apache服务器+MySQL数据库+PHP编程] 1.1.1 站点 将网站所有相关素材都放到一个文件夹中 ...
- Python 第五阶段 学习记录之--- Web框架
什么是web服务器的原理是什么 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env pyt ...
- 彻底理解Netty,这一篇文章就够了
Netty到底是什么 从HTTP说起 有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Pr ...
- poj2142 The Balance
poj2142 The Balance exgcd 应分为2种情况分类讨论 显然我们可以列出方程 ax-by=±d 当方程右侧为-d时,可得 by-ax=d 于是我们就得到了2个方程: ax-by=d ...
- Shell data、timedatectl
data系统时间管理命令 命令date +%F xxxx—xx--xx #查看当前日期. 命令date +%T xx:xx:xx #查看当前时间. 命令date +%y xx #年2位 命令date ...