QCustomPlot基础教程(四)——利用QCustomPlot绘制柱状图

一、基础柱状图绘制

代码示例:


//绘制柱状图
QCPAxis *xAxis = ui->customPlot->xAxis;//x轴
QCPAxis *yAxis = ui->customPlot->yAxis;//y轴
QCPBars *bars = new QCPBars(xAxis, yAxis);  // 使用xAxis作为柱状图的x轴,yAxis作为y轴

bars->setAntialiased(false); // 为了更好的边框效果,关闭抗齿锯
bars->setName("Bars"); // 设置图例
bars->setPen(QPen(QColor(0, 160, 140).lighter(130))); // 设置柱状图的边框颜色
bars->setBrush(QColor(20,68,106));  // 设置柱状图的画刷颜色

QVector<double> ticks;
QVector<QString> labels;
ticks << 1 << 2 << 3 << 4 << 5 << 6 << 7;//轴的范围
labels << "A" << "B" << "C" << "D" << "E" << "F" << "G";//轴的刻度文字显示
QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText);
textTicker->addTicks(ticks, labels);
xAxis->setTicker(textTicker);        // 设置为文字轴
xAxis->setTickLabelRotation(60);     // 轴刻度文字旋转60度
xAxis->setSubTicks(false);           // 不显示子刻度
xAxis->setTickLength(0, 4);          // 轴内外刻度的长度分别是0,4,也就是轴内的刻度线不显示
xAxis->setRange(0, 8);               // 设置x轴范围
xAxis->setLabel("x");
xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);

yAxis->setRange(0, 12.1);          //设置y轴范围
yAxis->setPadding(35);             // 轴的内边距
yAxis->setLabel("y");
yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
QVector<double> fossilData;
fossilData  << 10 << 9 << 2 << 5 << 7 << 4 << 1;//y轴坐标值
bars->setData(ticks, fossilData);

运行结果:

在这里插入图片描述

二、扩展1——横向柱状图的绘制方法

横向柱状图也很简单,只要设置x轴为y轴,y轴为x轴即可:

QCPAxis *xAxis = ui->customPlot->yAxis;
QCPAxis *yAxis = ui->customPlot->xAxis;

运行结果:
在这里插入图片描述
参考:https://www.jianshu.com/p/a6d97ff5c647

OK,以上便是全部内容了,如果对你有所帮助,记得点个赞哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wendy_ya

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值