- 
UID:177655 
 
- 
- 注册时间2016-12-13
 
- 最后登录2025-08-29
 
- 在线时间1025小时
 
 
 
- 
- 发帖113
 
- 搜Ta的帖子
 
- 精华0
 
- 金钱1300
 - 威望134
 - 贡献值9
 - 好评度124
 
 
 
- 
访问TA的空间加好友用道具
 
 
 
 
 
 
  
 
 | 
 —
本帖被 20091001753 从 Qt 作品展 移动到本区(2020-04-22)
—
 
 
     第一列为  南丁格尔玫瑰图第二列为  普通的饼图和圆环饼图第三列为  嵌套饼图  - void MainWindow::setupPieDemo(QCustomPlot *customPlot)
 - {
 -     QCPPie *pie1 = new QCPPie(customPlot);
 -     QVector<QString> labels = {
 -         "rose1","rose2","rose3","rose4","rose5","rose6","rose7","rose8",
 -     };
 -     QVector<double> values1 = {
 -         10, 5, 15, 25, 20, 35, 30, 40
 -     };
 -     pie1->add(labels, values1);
 -     pie1->setHoleSize(0.3);
 -     pie1->setRadius(0.4);
 -     pie1->setCenter(0.15, 0.25);
 -     pie1->setLabelVisible(false);
 -     pie1->setRoseType(QCPPie::rtRadius);
 -     connect(pie1, &QCPPie::hoveredSlice, [](QCPPieSlice *slice, bool hovered){
 -         slice->setLabelVisible(hovered);
 -     });
 -     QCPPie *pie2 = new QCPPie(customPlot);
 -     pie2->add(labels, values1);
 -     pie2->setHoleSize(0.5);
 -     pie2->setRadius(0.4);
 -     pie2->setCenter(0.15, 0.75);
 -     pie2->setRoseType(QCPPie::rtArea);
 -     QCPPie *pie3 = new QCPPie(customPlot);
 -     QVector<QString> labels3 = {
 -         "直接访问", "邮件营销", "联盟广告", "视频广告", "搜索引擎"
 -     };
 -     QVector<double> values3 = {
 -         335, 310, 234, 135, 1548
 -     };
 -     pie3->add(labels3, values3);
 -     pie3->setRadius(0.4);
 -     pie3->setCenter(0.4, 0.25);
 -     pie3->setTextFormat("{b}:{d}%");
 -     QCPPie *pie4 = new QCPPie(customPlot);
 -     pie4->add(labels3, values3);
 -     pie4->setRadius(0.4);
 -     pie4->setCenter(0.4, 0.75);
 -     pie4->setHoleSize(0.7);
 -     pie4->setLabelVisible(false);
 -     pie4->setLabelPosition(QCPPieSlice::lpCenter);
 -     pie4->setLabelFont(QFont("sans-serif", 30, QFont::Bold));
 -     connect(pie4, &QCPPie::hoveredSlice, [](QCPPieSlice *slice, bool hovered){
 -         slice->setLabelVisible(hovered);
 -     });
 -     QCPPie *pie5 = new QCPPie(customPlot);
 -     QVector<QString> labels5 = {
 -         "直达", "营销广告", "搜索引擎"
 -     };
 -     QVector<double> values5 = {
 -         335, 679, 1548
 -     };
 -     pie5->add(labels5, values5);
 -     pie5->setRadius(0.3);
 -     pie5->setLabelPosition(QCPPieSlice::lpInside);
 -     pie5->setLabelColor(Qt::white);
 -     pie5->setSelectedMode(QCPPie::smSingle);
 -     pie5->setCenter(0.75, 0.5);
 -     QCPPie *pie6 = new QCPPie(customPlot);
 -     QVector<QString> labels6 = {
 -         "直达", "邮件营销", "联盟广告", "视频广告", "百度", "谷歌", "必应", "其他"
 -     };
 -     QVector<double> values6 = {
 -         335, 310, 234, 135, 1048, 251, 147, 102
 -     };
 -     pie6->add(labels6, values6);
 -     pie6->setName("访问来源");
 -     pie6->setRadius(0.55);
 -     pie6->setHoleSize(0.75);
 -     pie6->setCenter(0.75, 0.5);
 -     pie6->setTextFormat("{a}\n{b}:{c} {d}%");
 - }
 
   
 
 
 |