0

gnuplot で 3D サーフェス プロットを作成しましたが、関係のない 2D 折れ線グラフを y、z 軸の「壁」にプロットできるかどうか疑問に思っています。本質的に、私は自分の x、y ライン プロットを取り、それを y、z 軸に貼り付けます。

3D サーフェスの下の x、y 上のコンター プロットに似ていますが、異なります。

4

1 に答える 1

1

これはまさにあなたが探しているものではないかもしれませんが、スプロットボックスの「壁」に関数をプロットする方法です:

#!/usr/bin/env gnuplot

set term png 
set output 'test.png'

# this is the function you want on the wall
myfun(x,y) = y**2

# set the ranges manually
xmin = -10 
xmax = 10
ymin = -10 
ymax = 10

x_range = xmax - xmin
y_range = ymax - ymin

scaler = 0.001
x1 = xmin - x_range*scaler
x2 = xmin + x_range*scaler
x3 = xmax - x_range*scaler
x4 = xmax + x_range*scaler
y1 = ymin - y_range*scaler
y2 = ymin + y_range*scaler
y3 = ymax - y_range*scaler
y4 = ymax + y_range*scaler

xminwall(x,y) = (x > x1 && x < x2) ? myfun(x,y) : 1/0 
xmaxwall(x,y) = (x > x3 && x < x4) ? myfun(x,y) : 1/0 
yminwall(x,y) = (y > x1 && y < x2) ? myfun(x,y) : 1/0 
ymaxwall(x,y) = (y > x3 && y < x4) ? myfun(x,y) : 1/0 

splot sin(x), xminwall(x,y)

結果は次のとおりです。

ここに画像の説明を入力

スクリプトが行うことは、プロットしたい関数を壁 (myfun(x,y)) にプロットし、壁に非常に近い値に制限してそのプロットを実行することです。サーフェス メッシュには一定数のグリッドポイントがあり、それらのポイントの 1 つが常に x と y の境界にあります。

この例では、 を行ったばかりであれば、splot sin(x), y**22 つの重なり合うサーフェスが得られます。

xminwallx/y 範囲の最小/最大壁で壁にプロットできるように、4 つの関数 (など) を作成しました。プロットが壁に正しく表示されるためには、正しい x と y の関数でなければならないことに注意しmufun(x,y)てください。そうしないと、直線が得られる可能性があります。

于 2013-01-12T04:23:12.987 に答える