1、轴末端样式:
ui->CustomPlotWg->yAxis->setUpperEnding(QCPLineEnding::esSpikeArrow);/*坐标箭头*/
2、自定义文本描述
void form_TimeSortGraph::SetText(double xIndex, double yIndex,QString text)
{
QCPItemText *phaseTracerText = new QCPItemText(ui->CustomPlotWg);//构造一个文本框
phaseTracerText->position->setType(QCPItemPosition::ptAxisRectRatio);
phaseTracerText->setPositionAlignment(Qt::AlignTop | Qt::AlignLeft);
double pointx= xIndex/2000;
double pointY=yIndex/25;
phaseTracerText->position->setCoords(pointx, pointY); // 设置位置
phaseTracerText->setText(text);//文本描述
phaseTracerText->setBrush(QColor(83,129,53));
phaseTracerText->setColor(Qt::white);
}
QCPItemText setCoords(x,y):有设定原点setPositionAlignment(Qt::AlignTop | Qt::AlignLeft),根据坐标和量程计算比例位置x、y.
3、自定义直线
ui->CustomPlotWg->addGraph();
QVector<QCPGraphData> dataFactorial(23);
for (int i=0; i<23; ++i)
{
dataFactorial[i].key = 10+endIndex;
dataFactorial[i].value = i;
}
QPen pen;
pen.setColor(QColor(237,125,49));
pen.setWidth(2);
pen.setStyle(Qt::DashLine);
ui->CustomPlotWg->graph(22)->setPen(pen);
ui->CustomPlotWg->graph(22)->data()->set(dataFactorial);
SetText(10+endIndex+10,25-22,QString::number(1900));
setWidth(2):将改变线条点线大小
竖线说明:Key值不变,Value依次递增