ZBLOG

QCustomPlot画柱状图,改变单个柱形的基准线,注意,setBaseValue只有一个参数

如果你想改变单个柱形的基准线,可以使用QCPBars的setWidth函数来设置柱形的宽度,并将setBaseValue设置为0。然后,通过设置数据值来移动柱形的位置。

以下是一个示例代码:

// 创建一个QCustomPlot对象
QCustomPlot *customPlot = new QCustomPlot(this);

// 添加一个柱状图
QCPBars *bars = new QCPBars(customPlot->xAxis, customPlot->yAxis);
bars->setAntialiased(false); // 禁用反走样以提高性能

// 设置每个柱形的宽度和基准线
double barWidth = 0.2; // 柱形宽度
bars->setWidth(barWidth);
bars->setBaseValue(0);

// 添加数据点并设置每个柱形的位置
QVector<double> dataValues;
dataValues << 1 << 2 << 3 << 4; // 数据值

int numDataPoints = dataValues.size();
for (int i = 0; i < numDataPoints; ++i) {
    double x = i + 1; // x轴坐标
    double y = dataValues[i]; // y轴坐标

    bars->addData(x, y); // 添加数据点

    // 设置每个柱形的位置(偏移量)
    double xOffset = (1 - barWidth) / 2.0 + i;
    bars->setDataPixelPosition(i, QPointF(xOffset, y));
}

// 更新绘图区域并显示结果
customPlot->rescaleAxes();
customPlot->replot();

这样,你可以通过设置每个柱形的宽度和位置来改变单个柱形的基准线。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=7487

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?