1

我有一个关于如何使用 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);

如果有人建议使用其他类型的库,请发布。

4

2 回答 2

0

您应该使用 coordToCell 而不是 cellToCoord,它将键和值给定的绘图坐标转换为 QCPColorMapData 实例的单元格索引。

colorMap->data()->coordToCell(x, y, &xIndex, &yIndex);
colorMap->data()->setCell(xIndex, yIndex, z);
于 2014-05-03T06:06:44.350 回答
0

当你放:

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

您修改“for”的索引。我放了一个额外的索引并解决了这个问题。

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]);
   }
}
于 2014-11-25T00:12:20.053 回答