美文网首页
QCustomPlot之盒须图(十六)

QCustomPlot之盒须图(十六)

作者: 梁如风 | 来源:发表于2020-05-16 14:04 被阅读0次

盒须图的组成如下图所示:

盒须图

在QCustomPlot中创建一个盒须图所需的类:QCPStatisticalBox,为盒须图添加数据主要使用的是addData接口,接口定义如下:
void addData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double> &outliers=QVector<double>());

参数 含义
key 在key轴的位置
minimum 下边缘
lowerQuartile 下四分位数
median 中位数,同时也是在value轴的位置
upperQuartile 上四分位数
maximum 上边缘
outliers 异常值

盒须图风格

函数 含义
setWidth 设置盒子宽度,宽度大小是按key轴的坐标确定的
setWhiskerWidth 设置边缘线宽度,宽度大小是按key轴的坐标确定的
setWhiskerPen 设置边缘线到四分数的线段的画笔风格
setWhiskerBarPen 设置边缘线画笔风格
setWhiskerAntialiased 盒须(下边缘到四分位数的线以及下边缘线)是否是反锯齿
setMedianPen 中位数画笔风格
setOutlierStyle 异常值风格

盒须图的使用

void MainWindow::setupStatisticalDemo(QCustomPlot *customPlot)
{
    QCPStatisticalBox *statistical = new QCPStatisticalBox(customPlot->xAxis, customPlot->yAxis);
    QBrush boxBrush(QColor(60, 60, 255, 100));
    boxBrush.setStyle(Qt::Dense6Pattern); // 使它看起来很老派
    statistical->setBrush(boxBrush);

    statistical->addData(1, 1.1, 1.9, 2.25, 2.7, 4.2);
    statistical->addData(2, 0.8, 1.6, 2.2, 3.2, 4.9, QVector<double>() << 0.7 << 0.34 << 0.45 << 6.2 << 5.84); // 添加一些异常值
    statistical->addData(3, 0.2, 0.7, 1.1, 1.6, 2.9);

    // 设置轴风格
    customPlot->xAxis->setSubTicks(false);
    customPlot->xAxis->setTickLength(0, 4);
    customPlot->xAxis->setTickLabelRotation(20);
    QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
    textTicker->addTick(1, "Sample 1");
    textTicker->addTick(2, "Sample 2");
    textTicker->addTick(3, "Control Group");
    customPlot->xAxis->setTicker(textTicker);

    customPlot->yAxis->setLabel("O₂ Absorption [mg]");
    customPlot->rescaleAxes();
    customPlot->xAxis->scaleRange(1.7, customPlot->xAxis->range().center());
    customPlot->yAxis->setRange(0, 7);
    customPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
}
效果图

相关文章

  • QCustomPlot之盒须图(十六)

    盒须图的组成如下图所示: 在QCustomPlot中创建一个盒须图所需的类:QCPStatisticalBox,为...

  • 9、箱线图1

    盒须图介绍: 盒须图(box and whiskers):又称为箱形图、盒式图或箱线图,是一种用作显示一组数据分散...

  • 逆江坪小学英语成绩的一点分析:箱线图

    箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。为了掌握学生之...

  • QCustomPlot之瀑布图(十五)

    实现原理 实时设置QCPColorMap颜色图的大小setSize以及映射到轴的范围setRange,并且通过se...

  • Power BI自定义图表:内涵丰富的小提琴图

    之前的文章中介绍过盒须图(三分钟掌握盒须图,轻松了解数据分布),可以在有限的空间内展示丰富信息,今天再来认识一个比...

  • 常见绘图类型

    1.盒须图matplotlib里的示例https://matplotlib.org/gallery/statist...

  • QCustomPlot之柱状图(三)

    在QCustomPlot中,柱状图需要使用QCPBars类, QCPBars的使用很简单 竖向柱状图 创建一个柱状...

  • 12-箱型图

    箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图包含一组数据的:最大值、最...

  • python中matplotlib箱型图作用及画法

    箱型图:又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图(在数据分析中常用在异常值...

  • QCustomPlot之简单动态图(六)

    本章节是仿照echart的动态图:地址 一、设置布局 首先新增一行一列用于放置标题和图例,这里将图例放置在一个空的...

网友评论

      本文标题:QCustomPlot之盒须图(十六)

      本文链接:https://www.haomeiwen.com/subject/sjglohtx.html