void mainWindow::initTable(QCustomPlot *customPot, QString strX, QString strY)
{
QLinearGradient plotGradient;
plotGradient.setStart(0, 0);
plotGradient.setFinalStop(0, 350);
plotGradient.setColorAt(0, QColor(37, 40, 45));
plotGradient.setColorAt(1, QColor(37, 40, 45));
customPot->setBackground(plotGradient); // 设置背景颜色
QLinearGradient axisRectGradient;
axisRectGradient.setStart(0, 0);
axisRectGradient.setFinalStop(0, 350);
axisRectGradient.setColorAt(0, QColor(37, 40, 45));
axisRectGradient.setColorAt(1, QColor(37, 40, 45));
customPot->axisRect()->setBackground(axisRectGradient); // 设置QCPAxisRect背景颜色
//x
customPot->xAxis->setTicks(true);
customPot->xAxis->setBasePen(QPen(Qt::white, 1)); // 轴线的画笔
customPot->xAxis->setTickPen(QPen(Qt::white, 1)); // 轴刻度线的画笔
customPot->xAxis->setSubTickPen(QPen(Qt::white, 1)); // 轴子刻度线的画笔
customPot->xAxis->setTickLabelColor(Qt::white); // 轴刻度文字颜色
customPot->xAxis->setLabel(strX); // 只有设置了标签,轴标签的颜色才会显示
customPot->xAxis->setLabelColor(Qt::white); // 轴标签颜色
customPot->xAxis->setTickLengthIn(3); // 轴线内刻度的长度
customPot->xAxis->setTickLengthOut(5); // 轴线外刻度的长度
customPot->xAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
//y
customPot->yAxis->setTicks(true);
customPot->yAxis->setBasePen(QPen(Qt::white, 1)); // 轴线的画笔
customPot->yAxis->setTickPen(QPen(Qt::white, 1)); // 轴刻度线的画笔
customPot->yAxis->setSubTickPen(QPen(Qt::white, 1)); // 轴子刻度线的画笔
customPot->yAxis->setTickLabelColor(Qt::white); // 轴刻度文字颜色
customPot->yAxis->setLabel(strY); // 只有设置了标签,轴标签的颜色才会显示
customPot->yAxis->setLabelColor(Qt::white); // 轴标签颜色
customPot->yAxis->setTickLengthIn(3); // 轴线内刻度的长度
customPot->yAxis->setTickLengthOut(5); // 轴线外刻度的长度
customPot->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);
//设置x轴刻度个数
customPot->xAxis->ticker()->setTickCount(10);//10个主刻度
customPot->xAxis->ticker()->setTickStepStrategy(QCPAxisTicker::tssReadability);//可读性优于设置
// 每条网格对应一个刻度
customPot->xAxis->grid()->setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); // 网格线(对应刻度)画笔
customPot->yAxis->grid()->setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine));
customPot->xAxis->grid()->setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine)); // 子网格线(对应子刻度)画笔
customPot->yAxis->grid()->setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine));
customPot->xAxis->grid()->setSubGridVisible(true); // 显示子网格线
customPot->yAxis->grid()->setSubGridVisible(true);
customPot->xAxis->grid()->setZeroLinePen(Qt::NoPen);
customPot->yAxis->grid()->setZeroLinePen(Qt::NoPen);
//允许鼠标拖拽与滚轮缩放
customPot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
customPot->yAxis->setSubTicks(false);
}
第一个轮子,记录一下,可直接使用,方便以后重复利用