在c++中显示FEM数据

displaying FEM Data in C++

本文关键字:FEM 数据 显示 c++      更新时间:2023-10-16

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

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

您应该使用coordToCell来代替cellToCoord,它将由键和值给出的绘图坐标转换为QCPColorMapData实例的单元格索引。

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

当你输入:

  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]);
   }
}