2

軸の限界を超えた線を描きたいです。clippingプロパティを次のように設定しようとしましたoff

figure
axis([0, 10, 0, 10])
hold on
set(gca,'outerPosition',[0, 0.5, 1, 0.5])
lh = line([2, 8],[8, -5]);
set(lh, 'clipping', 'off') 
print('line_plot.png')

次のような図が得られます。

軸の境界で終わる線でプロット

線を x 軸を超えて延長する方法はありますか? gnuplot と AquaTerm を使用しています。これは別の端末で可能でしょうか?

4

1 に答える 1

2

gnuplot では、軸を超えて伸びることができる矢印に注釈を付けることをお勧めします。質問で概説したことを達成するための最小限の例を次に示します。

# define the location of your plot:
bm = 0.15
lm = 0.12
rm = 0.95
tm = 0.95 
set lmargin at screen lm
set rmargin at screen rm
set bmargin at screen bm
set tmargin at screen tm  

# define your axis limits:
xmax = 10.0             
xmin = 0.0
ymax = 10.0                 
ymin = 0.0                  
set xrange [xmin:xmax]
set yrange [ymin:ymax]

# define you data points:
xstart = 2
ystart = 8
xend = 8
yend = -5

# convert points into screen coordinates:
dx_rel = (rm-lm)/(xmax-xmin)
dy_rel = (tm-bm)/(ymax-ymin)

xstart_rel = lm + dx_rel * xstart
ystart_rel = bm + dy_rel * ystart
xend_rel = lm + dx_rel * xend                                          
yend_rel = bm + dy_rel * yend  

# define 'arrow' without head in screen coordinates:
set arrow 1 from screen xstart_rel,ystart_rel \
              to screen xend_rel,yend_rel nohead  

# plot will not show when empty, include dummy plot command:
set parametric 
plot xstart, ystart not

gnuplot で参照するclipオプションでは、軸を超えてプロットを拡張することはできません。軸に近いデータ ポイントを削除して、シンボルがそれらの軸に重ならないようにすることを目的としています。ただし、 は座標 (この場合の
画面プロット ウィンドウ) で指定できるため、軸の外側に描画できます。 特定のデータ座標に一致させるには、それらをスクリーン座標に変換する必要があります。これは、それらの画面座標で境界をプロットするように定義した場合にのみ確実に機能します。そうすれば、各データ ポイントが画面上のどこにあるかを計算できます。を使用する ときは、座標の前に必ず を使用して、正しい座標系を示してください。arrowscreen

setarrowscreen
上記のスクリプトは、次のプロットを提供します。

ここに画像の説明を入力

于 2013-07-16T18:24:15.360 に答える