Существует неоднородная сетка данных, состоящая из координат x и y и соответствующего значения. Это должно быть представлено как тепловая карта (цветная карта).
Ключевое слово здесь неоднородный, Это означает, что значения неравномерно распределены по осям x и y.
У меня нет проблем с построением единой сетки данных с использованием библиотеки qwt. Для построения тепловой карты эта библиотека требует матрицу (то есть единую сетку данных) в качестве входных данных:
[1 2 3 ]
4 5 6
7 8 9]
но он не может обрабатывать неоднородные данные:
[1 2 3
? ? 4
5 6 7
8 9 10]
Выше приведен только пример, а настоящий гораздо сложнее.
Итак, вопрос в том, как представить неравномерную сетку данных? Должен ли я сначала преобразовать неоднородную сетку в однородную? Если так, есть ли стандартный способ сделать это?
В этом случае в идеале было бы иметь функцию (предпочтительно написанную на c ++), которая принимает в качестве аргумента неоднородный DataGrid и возвращает единый DataGrid, где DataGrid равен
struct DataGrid {
std::vector<double> x;
std::vector<double> y;
std::vector<double> values;
}
Задача ещё не решена.
Других решений пока нет …