gnuplot:如何使点之间的线成弧形

时间:2014-03-21 16:18:03

标签: gnuplot cylindrical

我在圆柱坐标中有点数据。我可以像here那样制作它们。现在行看起来像those

2 个答案:

答案 0 :(得分:2)

要使用数据文件执行此操作,您可以使用set dgrid3dset table输出。您拥有的数据如下所示:

set pm3d
splot "data" u ($1*cos($2)):($1*sin($2)):3 w l

enter image description here

您可以使用set dgrid3d进行插值以提高分辨率:

set dgrid3d splines 20,20
set table "table"
splot "data" u 1:(acos(cos($2))):3

现在,您精炼的网格数据将保存在文件“table”中。注意我将角度变量发送回0到pi间隔以改善插值。使用splines选项很重要,否则您的数据将使用所有数据点进行插值,而不是仅使用相邻数据点进行插值。绘制这个新数据:

set pm3d
splot "table" u ($1*cos($2)):($1*sin($2)):3 w l

enter image description here

更多数据意味着直线看起来不那么直,因为它们更多。您无需对set pm3d使用插值选项,只需调整set dgrid3d选项的扫描次数。

答案 1 :(得分:0)

我猜你可以使用用来给人留下弧线的样本数量。例如:

set parametric
set samples 10,10
set zrange [0:1]
set urange [0:2*pi]
set vrange [0:2*pi]
splot cos(u)*cos(v),cos(u)*sin(v),cos(u)

给出以下图表: enter image description here

现在,如果您使用

更改样本
set samples 10,100

你得到" arcs",这只是更直线:

enter image description here

如果您想要更多曲面线,请使用set isosamples选项:

set isosamples 20,20

enter image description here