QCustomPlot 曲线各种属性设置介绍

该文详细介绍了如何使用QCustomPlot库进行图表定制,包括设置图例字体、大小和颜色,轴标签和刻度的样式,以及图表的其他视觉元素如栅格线和背景色。此外,还涉及数据的添加、清除和刷新,以及交互功能的启用。
摘要由CSDN通过智能技术生成

1. legend 设置图例字体、大小、是否显示、背景

 QFont font;
 font.setPixelSize(12);//文字像素大小
 font.setFamily("微软雅黑");//字体
 ui->customPlot->legend->setFont(font);
 ui->customPlot->legend->setVisible(true);//图例是否显示
 ui->customPlot->legend->setBrush(QColor(100, 100, 100, 0));//设置图例背景颜色,可设置透明

2. setLabelFont 设置轴标签的字体、大小、颜色、内容

ui->customPlot->xAxis->setLabelFont(font);//设置X轴的标签字体
ui->customPlot->yAxis->setLabelFont(font);//设置y轴的标签字体
 
ui->customPlot->xAxis->setLabelColor(Color);//设置X轴标签颜色
ui->customPlot->yAxis->setLabelColor(Color);//设置y轴标签颜色
 
ui->customPlot->yAxis->setLabel("X轴数据");//X轴标签内容
ui->customPlot->xAxis->setLabel("Y轴数据");//y轴标签内容

3. setTickLabelFont 设置轴刻度标签的字体、大小、颜色、长度

 ui->customPlot->xAxis->setTickLabelFont(font);//设置x轴刻度标签字体
 ui->customPlot->yAxis->setTickLabelFont(font);//设置y轴刻度标签字体
 
 ui->customPlot->xAxis->setTickLabelColor(Color);//设置x轴刻度标签颜色
 ui->customPlot->yAxis->setTickLabelColor(Color);//设置y轴刻度标签颜色
 
ui->customPlot->xAxis->->setTickLength(5, 0);//设置x轴刻度线的长度
ui->customPlot->xAxis->setSubTickLength(2, 0);//设置x轴子刻度线长度

4. setTickLabelType 设置刻度标签类型

ui->customPlot->xAxis->setTickLabelType(QCPAxis::ltDateTime);//QCPAxis::ltNumber
ui->customPlot->xAxis->setDateTimeFormat("mm:ss");//设置轴数据时间格式

5. setBasePen 设置基准轴线颜色、大小

ui->customPlot->xAxis->setBasePen(QPen(Color, Width));//设置x轴基准线颜色和大小
ui->customPlot->yAxis->setBasePen(QPen(Color, Width));//设置y轴基准线颜色和大小

6. setTickPen 设置轴刻度线颜色和大小

ui->customPlot->xAxis->setTickPen(QPen(Color,Width ));//设置x轴刻度颜色和大小
ui->customPlot->yAxis->setTickPen(QPen(Color,Width));//设置y轴刻度颜色和大小

7. setSubTickPen 设置子刻度线颜色和大小

ui->customPlot->xAxis->setSubTickPen(QPen(Color, Width));//设置x轴子刻度线的颜色和大小
ui->customPlot->yAxis->setSubTickPen(QPen(Color, Width));//设置y轴子刻度线的颜色和大小

8. grid 设置栅格线颜色、大小、设置零位线的颜色、大小

ui->customPlot->xAxis->grid()->setPen(QPen(Color, Width));//设置x轴的栅格线的颜色和大小
ui->customPlot->yAxis->grid()->setPen(QPen(Color, Width));//设置y轴的栅格线的颜色和大小
 
ui->customPlot->xAxis->grid()->setZeroLinePen(QPen(Color, Width));//设置x轴零位线的颜色和大小
ui->customPlot->yAxis->grid()->setZeroLinePen(QPen(Color, Width));//设置y轴零位线的颜色和大小

9. setBackground 设置背景颜色、设置矩形轴框内的背景颜色

ui->customPlot->setBackground(Color);//设置背景颜色
ui->customPlot->axisRect()->setBackground(Color);//设置矩形轴框内的背景颜色

10. 设置画布曲线的颜色、抗锯齿、名称

 QPen pen;
 pen.setWidth(2);//曲线的粗细
 pen.setColor(Qt::red);
 ui->customPlot->graph(0)->setPen(pen);//曲线颜色设置
 ui->customPlot->graph(0)->setAntialiasedFill(true);//设置抗锯齿
 
 ui->customPlot->->graph(0)->setName("名称");//设置画布曲线名称

11. 设置自动刻度属性

ui->customPlot->xAxis->setAutoTicks(true);//设置x轴自动刻度线
ui->customPlot->xAxis->setAutoTickLabels(true);//设置y轴自动刻度线
 
ui->customPlot->xAxis->setAutoTickStep(true);//设置x轴自动刻度步长
ui->customPlot->yAxis->setAutoTickStep(true);//设置y轴自动刻度步长
 
ui->customPlot->xAxis->setTickStep(1);//设置x轴刻度步长
ui->customPlot->yAxis->setTickStep(1);//设置y轴刻度步长
 
ui->customPlot->rescaleAxes();//这个针对x,y轴双轴
ui->customPlot->rescaleKeyAxis();//这个针对x轴自动刻度调整
ui->customPlot->rescaleValueAxis();//这个针对y轴自动刻度调整

12. 设置范围

ui->customPlot->xAxis->setRange(0, 8, Qt::AlignLeft);//设置x轴范围
ui->customPlot->yAxis->setRange(0, 1024);//设置y轴范围
 
ui->customPlot->yAxis->setAutoTickCount(8);//设置y轴刻度线个数
 
ui->customPlot->xAxis->setVisible(false);//设置x轴是否显示
ui->customPlot->yAxis->setVisible(false);//设置y轴是否显示

13. 设置图例的位置

ui->customPlot->xAxis->axisRect()->insetLayout()->setInsetAlignment(0, 
							Qt::AlignBottom | 
							Qt::AlignRight);//设置图例位置位右下角

14. 设置离散样式

//设置圆点的样式,还有其他样式选择
ui->widgetPlot->graph(0)->setScatterStyle(
        QCPScatterStyle(QCPScatterStyle::ssCircle,
                        QPen(Color, LineWidth),
                        QBrush(Color), DotWidth));

15. 添加、清空、刷新数据

//可以输入单点、也可以多点数据同时传入
ui.customPlot->graph(0)->addData(key,value);
//清空数据
ui.customPlot->graph(0)->data().data()->clear();
//刷新
ui.customPlot->replot();

16. 轴区域设置成矩形盒区域样式

ui->customPlot->axisRect()->setupFullAxesBox();

17. 设置轴区域可拖动、可缩放、可选中图例、可选中轴等

ui->customPlot->setInteractions(QCP::iRangeDrag | 
								QCP::iRangeZoom | 
								QCP::iSelectAxes | 
								QCP::iSelectLegend | 
								QCP::iSelectPlottables);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值