有一个由x和y坐标组成的非均匀数据网格和相应的值。它需要表示为热图(颜色图)。
这里的关键词是 nonuniform ,这意味着值不是均匀分布在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;
}