我想创建以下2D二进制类数据图的表面图或网格。第一个图是一个二进制类数据的简单表示。在第二张2D图中,我们看到了点周围的红色和黑色圆圈。红色表示源数据集,黑色表示目标数据集。如何创建X1,X2,P(Y)的曲面图? “Z”坐标是实例的P(Y)。基本上,我希望这些点创建峰值,例如在曲面图中。我尝试surf
和mesh
,但我没有正确地做到因为Z必须是X和Y的函数。如果你有建议在R或Python中制作这样的图表,请随意这样做。我希望结果类似于图3。
图1
图2
图3目标结果
答案 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'=>'',
],
);
缺点是您必须手动设置抽搐并可能重新构建数据,但这可以在R中完成,以生成将由GNUplot读取的文件。