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 ...
随机推荐
- 在ABP中使用linq
private IQueryable<MembershipEntity> SelectOrScrrenMember(GetMemberInput input) { string[] use ...
- ACFS-9459: ADVM/ACFS is not supported on this OS version
环境:RHEL 7.3 + Oracle 12.2.0.1 RAC 现象:acfs资源状态不正常,asmca图形也没有acfs相关内容,无法使用acfs. 1.具体现象 2.定位bug 3.解决问题 ...
- Vue疑难杂症
安装Vue脚手架的时候 指令:npm install vue-cli -g Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corpor ...
- Java复制目录/子目录/文件
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- L2-026. 小字辈
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行 ...
- JavaScript if 条件语句
JavaScript if 条件语句 使用: if(条件){ }else if(条件){ }else if(条件){ }else{ } 示例: // 判断相等 if(1==1){ } // 判断不等 ...
- Linux 简单文本处理
1.创建文件加“.”带表隐藏文件 2.password文件内“user:x:501:501::/home/lishiming:/bin/bash”含义: 用户名:密码控位键:UID:GID:用户解 ...
- Python爬虫(四)——豆瓣数据模型训练与检测
前文参考: Python爬虫(一)——豆瓣下图书信息 Python爬虫(二)——豆瓣图书决策树构建 Python爬虫(三)——对豆瓣图书各模块评论数与评分图形化分析 数据的构建 在这张表中我们可以发现 ...
- 剑指offer(4)重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- webpack搭建项目时出现的报错“Module build failed (from ./node_modules/css-loader/dist/cjs.js) CssSyntaxError”
控制台出现的错误如下: webpack.config.js中的配置如下: module.exports={ entry:'./src/main.js', output:{ path:__dirname ...