将FreeFEM ++数据绘制到GNUPLOT

贾努斯·高达(Janus Gowda)

我正在尝试使用gnuplot绘制通过FreeFEM ++获得的数据。

从FreeFEM,我用以下代码保存了数据:

{ ofstream ff("sol.dat");
    for (int i=0;i<Th.nt;i++){
            for ( int j=0; j<3; j++){
                    ff<<Th[i][j].x << "\t" << Th[i][j].y << "\t" << u[][Vh(i,j)] << endl;
            }
            ff<<Th[i][0].x << "\t" << Th[i][0].y << "\t" << u[][Vh(i,0)] << "\n\n\n";
    }

}

前几行数据的示例是:

0.635787    -0.0440338  0.0056924
0.65234 -0.063181   0.00797757
0.655369    -0.0412323  0.00795786
0.635787    -0.0440338  0.0056924


0.597634    -0.0376 3.06323e-33
0.613904    -0.0585366  0.0030425
0.616879    -0.0388107  0.0030295
0.597634    -0.0376 3.06323e-33

由于某种原因,我不知道在每个“数据包”中都有一个数据点重复了两次。但这就是他们在FreeFem手册中告诉您的方法。显然,出于某种原因,GNUPLOT需要在“数据包”之间使用空格。

我正在尝试使用gnuplot脚本绘制数据:

set pm3d at b
set palette rgbformulae 30,31,32
set hidden3d
splot "sol.dat" with lines palette

它可以很好地绘制,但我认为pm3d没有做任何事情。我认为pm3d将在图的底部包含彩色的热强度模式。另外,我也找不到用纯色填充绘图中线条之间的间隙的方法。

输出样本

谢谢。

克里斯多夫

要解决这个问题,首先需要正确解释组织数据的各种可能性:

  1. 两个空行分隔两个不同的数据集。这些根本没有连接,它们之间没有画线。在您的情况下,这是必需的,因为gnuplot它不支持单个表面具有的网格类型。

  2. pm3d仅在单个数据集中有效,并且需要规则的网格(请参阅pm3d演示)。单个曲面的两条线(等值线)必须仅由一个空行分隔

仍然您有一个不规则的网格,pm3d无法处理。在内部,gnuplot您可以用来dgrid3d对输入数据进行重新采样,以获得规则的网格并使用绘制该网格pm3d

但是dgrid3d会影响一个splot命令的所有数据文件因此,您还需要multiplot使用两个splot命令。

下面的脚本显示了它是如何工作的,但是由于我没有完整的数据集,也不知道如何dgrid3d处理那么多数据集(请参见上面的1.),因此这只是一个非常粗糙的指南:

set multiplot

set pm3d at b
set dgrid3d 200,200
unset key
splot 'sol.dat' nosurface

unset dgrid3d
unset pm3d
splot 'sol.dat' with lines palette

unset multiplot

那应该可以,但是您可能需要调整dgrid3d通话。此外,可能还需要其他一些增强功能(仅对边框,抽动和颜色框进行一次绘制等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据绘制到MatLab的等值面上

来自分类Dev

将数据转储到数据框,然后绘制

来自分类Dev

Gnuplot:将按行命名的数据绘制为成束的不同颜色和标题的行

来自分类Dev

gnuplot将大数据集绘制为动画时速度较慢

来自分类Dev

尝试将无符号长的ARGB数据绘制到HTML画布

来自分类Dev

使用R将多个系列的数据绘制到单个制图中

来自分类Dev

Matplotlib将预缓存的数据绘制到许多子图中时会变慢

来自分类Dev

ggplot2将两个数据集绘制到一张图片中

来自分类Dev

将JSON数据绘制到d3js图的轴上

来自分类Dev

将数据从JSP传递到jQuery并在Highcharts中进行绘制

来自分类Dev

如何将数据库中存储的多边形绘制到Google地图上

来自分类Dev

如何使用PHP,MySQL和JavaScript将json数据绘制到Google Material Line Chart中

来自分类Dev

Freefem Fisher方程

来自分类Dev

使用gnuplot将椭圆拟合到数据

来自分类Dev

将颜色渐变与Gnuplot中的数据匹配

来自分类Dev

Python-将多个文本文件中的一列数据绘制到单个图形中

来自分类Dev

从串行端口将数据绘制到scrollArea时进行更新的Qt调用不会触发对paintEvent()的调用

来自分类Dev

Shiny R:将输出与来自CSV的现有数据一起绘制到散点图上

来自分类Dev

pygame:在屏幕上绘制之前将文本绘制到Surface

来自分类Dev

pandas 将 ylabels 绘制到右侧或从右到左绘制负值

来自分类Dev

将图标从imagelist绘制到listview?

来自分类Dev

将NSString绘制到CALayer中

来自分类Dev

将邻域网络绘制到ggplot地图

来自分类Dev

使用OpenGL将位图绘制到VideoFrame

来自分类Dev

无法将精灵绘制到屏幕上

来自分类Dev

将多个JComponent绘制到框架

来自分类Dev

将JPanel绘制到JPanel中

来自分类Dev

将值绘制到网格(MATLAB)

来自分类Dev

Pyglet 将文本绘制到纹理中

Related 相关文章

  1. 1

    将数据绘制到MatLab的等值面上

  2. 2

    将数据转储到数据框,然后绘制

  3. 3

    Gnuplot:将按行命名的数据绘制为成束的不同颜色和标题的行

  4. 4

    gnuplot将大数据集绘制为动画时速度较慢

  5. 5

    尝试将无符号长的ARGB数据绘制到HTML画布

  6. 6

    使用R将多个系列的数据绘制到单个制图中

  7. 7

    Matplotlib将预缓存的数据绘制到许多子图中时会变慢

  8. 8

    ggplot2将两个数据集绘制到一张图片中

  9. 9

    将JSON数据绘制到d3js图的轴上

  10. 10

    将数据从JSP传递到jQuery并在Highcharts中进行绘制

  11. 11

    如何将数据库中存储的多边形绘制到Google地图上

  12. 12

    如何使用PHP,MySQL和JavaScript将json数据绘制到Google Material Line Chart中

  13. 13

    Freefem Fisher方程

  14. 14

    使用gnuplot将椭圆拟合到数据

  15. 15

    将颜色渐变与Gnuplot中的数据匹配

  16. 16

    Python-将多个文本文件中的一列数据绘制到单个图形中

  17. 17

    从串行端口将数据绘制到scrollArea时进行更新的Qt调用不会触发对paintEvent()的调用

  18. 18

    Shiny R:将输出与来自CSV的现有数据一起绘制到散点图上

  19. 19

    pygame:在屏幕上绘制之前将文本绘制到Surface

  20. 20

    pandas 将 ylabels 绘制到右侧或从右到左绘制负值

  21. 21

    将图标从imagelist绘制到listview?

  22. 22

    将NSString绘制到CALayer中

  23. 23

    将邻域网络绘制到ggplot地图

  24. 24

    使用OpenGL将位图绘制到VideoFrame

  25. 25

    无法将精灵绘制到屏幕上

  26. 26

    将多个JComponent绘制到框架

  27. 27

    将JPanel绘制到JPanel中

  28. 28

    将值绘制到网格(MATLAB)

  29. 29

    Pyglet 将文本绘制到纹理中

热门标签

归档