每次触发一次,添加一个数据,但是标签只显示一部分,数据的值不断增加,标签显示的部分越多,请问怎么解决,我更改刻度等其他方法没有解决.
void ChartsViewWidget::InitLineSeries(const QStringList &seriesList)
{
// 创建坐标轴
QValueAxis *axisX = new QValueAxis; // X轴
axisX->setRange(0, 100); // 设置坐标轴范围
axisX->setTitleText("X轴标题"); // 标题
axisX->setTickCount(11); // 设置坐标轴主刻度的个数
QValueAxis *axisY = new QValueAxis; // Y轴
axisY->setRange(0, 100); // Y轴范围
axisY->setTitleText("Y轴标题"); // 标题
axisY->setTickCount(11); // 设置坐标轴主刻度的个数
//axisY->setMinorTickCount(1); //设置两个主刻度之间的次刻度的个数
//axisY->setTickInterval(1); // 设置刻度间距为1
// 创建曲线序列
for (int i = 0; i < seriesList.size(); i++)
{
QLineSeries *series = new QLineSeries();
series->setName(seriesList.at(i));
// 其他附加参数
series->setVisible(true);
series->setPointLabelsFormat("@yPoint");
series->setPointsVisible(true); // 设置数据点可见
series->setPointLabelsVisible(true); // 设置数据点数值可见
//series->setPointLabelsClipping(false);
// 序列添加到图表
//QxxxSeries必须要先加载至chart,再setAxisX/Y,否则没有图上没有数据。
m_pChart->addSeries(series);
// 设置X于Y轴数据集
m_pChart->setAxisX(axisX, series); // 为序列设置坐标轴
m_pChart->setAxisY(axisY, series);
m_listSeries.append(series);
}
}
//添加数据
void ChartsViewWidget::SetSeriesData(const QList<QList<qreal>> &dataList)
{
for (int i = 0; i < dataList.size(); i++)
{
QLineSeries *series = (QLineSeries *)ui.widget->chart()->series().at(i);// 获取指针
series->clear();
for (int ii = 0; ii < dataList.at(i).size(); ii++)
{
int a = 5 * ii+5;
series->append(a, dataList.at(i).at(ii));
//*series << QPointF(a, dataList.at(i).at(ii));
}
}
}