qt — отображение данных FEM в переполнении стека

У меня есть вопрос, связанный с отображением с помощью QcustomPlot Colormap FEM данных.
Данные имеют следующую форму:

X                  Y              Z
0.000000   0.000000    0.000020
0.000000   0.010769    0.003000
0.010769   0.000000    0.000400
0.000000   0.041683    0.000050
0.020058   0.020058    0.003000
0.040024   0.000000    0.001000
0.000000   0.072596    0.001000
0.035689   0.035689    0.000030
0.069279   0.000000    0.000200
0.000000   0.134423    0.000200

Поскольку распределение по осям X и Y не является постоянным, я не знаю, как создать матрицы, используя

colorMap->data()->cellToCoord(xIndex, yIndex, &x, &y);
colorMap->data()->setCell(xIndex, yIndex, z);

Если у кого-то есть предложение использовать другой тип библиотеки, пожалуйста, пишите.

1

Решение

Вместо cellToCoord вы должны использоватьordinToCell, который преобразует координаты графика, заданные ключом и значением, в индексы ячеек экземпляра QCPColorMapData.

colorMap->data()->coordToCell(x, y, &xIndex, &yIndex);
colorMap->data()->setCell(xIndex, yIndex, z);
0

Другие решения

когда вы положили:

  colorMap->data()->coordToCell(x, y, &xIndex, &yIndex);

Вы изменяете индекс «для».
Я ставлю дополнительный индекс и решаю вопрос.

nt xI=0;
int yI=0;
for (int xIndex=0; xIndex<nx; ++xIndex, xI++)
{
for (int yIndex=0; yIndex<ny; ++yIndex, yI++)
{
colorMap->data()->coordToCell(x[xIndex], y[yIndex], &xI, &yI);
colorMap->data()->setCell(xI, yI, z[xI+yI]);
}
}
0