我使用的是QtCharts画折线图,全都是按照demo写的,之前画一副的时候没有问题,但是现在提示:
QPainterPath::lineTo: Adding point where x or y is NaN or Inf, ignoring call
QPainterPath::lineTo: Adding point where x or y is NaN or Inf, ignoring call
我已经单步调试过了,坐标输入没有问题,这个是处在append的时候,部分代码如下:
//创建Chart
for(int i = 0;i < 5;i++)
{
chart_rag[i] = new QPolarChart();
}
//创建曲线
for(int i = 0;i < 8; i++)
{
//============================================================================
series_freq_1[i] = new QLineSeries();
series_freq_2[i] = new QLineSeries();
series_freq[i] = new QAreaSeries();
series_freq[i]->setUpperSeries(series_freq_1[i]);
series_freq[i]->setLowerSeries(series_freq_2[i]);
chart_rag[0]->addSeries(series_freq_1[i]);
chart_rag[0]->addSeries(series_freq_2[i]);
chart_rag[0]->addSeries(series_freq[i]);
//============================================================================
series_send_1[i] = new QLineSeries();
series_send_2[i] = new QLineSeries();
series_send[i] = new QAreaSeries();
series_send[i]->setUpperSeries(series_send_1[i]);
series_send[i]->setLowerSeries(series_send_2[i]);
chart_rag[1]->addSeries(series_send_1[i]);
chart_rag[1]->addSeries(series_send_2[i]);
chart_rag[1]->addSeries(series_send[i]);
//============================================================================
series_beam_1[i] = new QLineSeries();
series_beam_2[i] = new QLineSeries();
series_beam[i] = new QAreaSeries();
series_beam[i]->setUpperSeries(series_beam_1[i]);
series_beam[i]->setLowerSeries(series_beam_2[i]);
chart_rag[2]->addSeries(series_beam_1[i]);
chart_rag[2]->addSeries(series_beam_2[i]);
chart_rag[2]->addSeries(series_beam[i]);
//============================================================================
series_stc_1[i] = new QLineSeries();
series_stc_2[i] = new QLineSeries();
series_stc[i] = new QAreaSeries();
series_stc[i]->setUpperSeries(series_stc_1[i]);
series_stc[i]->setLowerSeries(series_stc_2[i]);
chart_rag[3]->addSeries(series_stc_1[i]);
chart_rag[3]->addSeries(series_stc_2[i]);
chart_rag[3]->addSeries(series_stc[i]);
//============================================================================
series_workmode_1[i] = new QLineSeries();
series_workmode_2[i] = new QLineSeries();
series_workmode[i] = new QAreaSeries();
series_workmode[i]->setUpperSeries(series_workmode_1[i]);
series_workmode[i]->setLowerSeries(series_workmode_2[i]);
chart_rag[4]->addSeries(series_workmode_1[i]);
chart_rag[4]->addSeries(series_workmode_2[i]);
chart_rag[4]->addSeries(series_workmode[i]);
}
for(int i = 0;i < 5;i ++)
{
angularAxis[i] = new QValueAxis();
angularAxis[i]->setTickCount(9); // First and last ticks are co-located on 0/360 angle.
angularAxis[i]->setLabelFormat("%.1f");
angularAxis[i]->setShadesVisible(false);
angularAxis[i]->setShadesBrush(QBrush(QColor(249, 249, 255)));
chart_rag[i]->addAxis(angularAxis[i], QPolarChart::PolarOrientationAngular);
radialAxis[i] = new QValueAxis();
radialAxis[i]->setTickCount(9);
radialAxis[i]->setLabelFormat("%d");
chart_rag[i]->addAxis(radialAxis[i], QPolarChart::PolarOrientationRadial);
angularAxis[i]->setRange(0,360);
radialAxis[i]->setRange(0,max_radial);
}
series_freq_1[0]->append(10,200);
//曲线绑定坐标轴
for(int i = 0;i < 8;i++)
{
series_freq_1[i]->attachAxis(angularAxis[0]);
series_freq_1[i]->attachAxis(radialAxis[0]);
series_freq_2[i]->attachAxis(angularAxis[0]);
series_freq_2[i]->attachAxis(radialAxis[0]);
series_freq[i]->attachAxis(angularAxis[0]);
series_freq[i]->attachAxis(radialAxis[0]);
series_send_1[i]->attachAxis(angularAxis[1]);
series_send_1[i]->attachAxis(radialAxis[1]);
series_send_2[i]->attachAxis(angularAxis[1]);
series_send_2[i]->attachAxis(radialAxis[1]);
series_send[i]->attachAxis(angularAxis[1]);
series_send[i]->attachAxis(radialAxis[1]);
series_beam_1[i]->attachAxis(angularAxis[2]);
series_beam_1[i]->attachAxis(radialAxis[2]);
series_beam_2[i]->attachAxis(angularAxis[2]);
series_beam_2[i]->attachAxis(radialAxis[2]);
series_beam[i]->attachAxis(angularAxis[2]);
series_beam[i]->attachAxis(radialAxis[2]);
series_stc_1[i]->attachAxis(angularAxis[3]);
series_stc_1[i]->attachAxis(radialAxis[3]);
series_stc_2[i]->attachAxis(angularAxis[3]);
series_stc_2[i]->attachAxis(radialAxis[3]);
series_stc[i]->attachAxis(angularAxis[3]);
series_stc[i]->attachAxis(radialAxis[3]);
series_workmode_1[i]->attachAxis(angularAxis[4]);
series_workmode_1[i]->attachAxis(radialAxis[4]);
series_workmode_2[i]->attachAxis(angularAxis[4]);
series_workmode_2[i]->attachAxis(radialAxis[4]);
series_workmode[i]->attachAxis(angularAxis[4]);
series_workmode[i]->attachAxis(radialAxis[4]);
}
series_freq_1[0]->append(10,20);
ui->widgetFreqSyn->setChart(chart_rag[0]);
ui->widgetSend->setChart(chart_rag[1]);
ui->widgetBeamControl->setChart(chart_rag[2]);
ui->widgetSTC->setChart(chart_rag[4]);
ui->widgetWorkMode->setChart(chart_rag[3]);
ui->widgetFreqSyn->setRenderHint(QPainter::Antialiasing);
ui->widgetSend->setRenderHint(QPainter::Antialiasing);
ui->widgetBeamControl->setRenderHint(QPainter::Antialiasing);
ui->widgetSTC->setRenderHint(QPainter::Antialiasing);
ui->widgetWorkMode->setRenderHint(QPainter::Antialiasing);