如何创建这样的曲面或三维高斯图?

时间:2018-01-27 00:44:10

标签: r matlab plot graph 3d

我想创建以下2D二进制类数据图的表面图或网格。第一个图是一个二进制类数据的简单表示。在第二张2D图中,我们看到了点周围的红色和黑色圆圈。红色表示源数据集,黑色表示目标数据集。如何创建X1,X2,P(Y)的曲面图? “Z”坐标是实例的P(Y)。基本上,我希望这些点创建峰值,例如在曲面图中。我尝试surfmesh,但我没有正确地做到因为Z必须是X和Y的函数。如果你有建议在R或Python中制作这样的图表,请随意这样做。我希望结果类似于图3。

图1

enter image description here

图2

enter image description here

图3目标结果

enter image description here

1 个答案:

答案 0 :(得分:1)

我知道在R中有一个表单,但是认为GNUPLOT使它变得非常容易。我想你可以将你的数据安排在一个文件 data_file.txt 中,该文件只包含一个类似于这个的矩阵:

  

0.322 0.194 0.181 0.311 0.142 0.096

     

0.294 0.535 0.221 0.578 0.289 0.154

     

0.364 0.07 0.078 0.174 0.229 0.265

下面的gnu代码生成并绘制调整到数据的样条曲线并以非常精确的方式绘制它:

AppSettings::create(
    [
        'name'=>'mail_host',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_port',
        'type'=>$emailsettingstype->id,
        'value'=>'',

    ],
    [
        'name'=>'mail_username',
        'type'=>$emailsettingstype->id,
        'value'=>'',
    ],
);

结果: Example of plot produced

缺点是您必须手动设置抽搐并可能重新构建数据,但这可以在R中完成,以生成将由GNUplot读取的文件。

相关问题