Позвольте мне обобщить мои уроки, я немного запутался в диапазонах, выборках и параметрических параметрах.
То, чего я хотел достичь, это следующее:
3 кривых с разными диапазонами и разнымисэмплы одной сюжетной командой. Например, для иллюстрации:
- Случайный : 1000 случайных точек в диапазоне [0: 2] [0: 2]
- Круг : Круг с радиусом 1 и 24 точками в диапазоне [-1: 1] [- 1: 1]
- Линия : Прямая линия с 3 выборками в диапазоне [-0,5:0.5] [- 0.5: 0.5]
Изучения:
- , если
parametric
выключено, это не позволяет (выдает ошибку) указать [start:end:step]
в первой команде заговора, тогда как это допускается во второй и третьей (под) команде заговора. Странно. - , если
parametric
включено, step
в первой команде построения будет проигнорировано, а количество выборок будет определено предыдущим set samples
. Не так очевидно. - если
parametric
выключено, я не могу достичь желаемого результата. - Мне нужно использовать
set parametric
вместе с [start:end:step] '+' u ...
Короче говоря. Я могу добиться желаемых результатов, когда кодирую что-то вроде:
set parametric
set samples samples1 # because step1 will be ignored
plot [start1:end1:step1] '+' u (<whatever>):(<whatever>) ti "sub-plot 1", \
[start2:end2:step2] '+' u (<whatever>):(<whatever>) ti "sub-plot 2", \
[start3:end3:step3] '+' u (<whatever>):(<whatever>) ti "sub-plot 3"
На приведенном ниже коде и графике показаны различные варианты с / без parametric
и разный порядок 3 кривых. Только нижний ряд на графике ниже показывает желаемые результаты.
Код:
### curves with different ranges & samples within one plot command
reset session
set colorsequence classic
Random = "[0:1:0.001] '+' u (2*rand(0)):(2*rand(0)) w p pt 7 ps 0.5 not"
RandomFirst = "[0:1] '+' u (2*rand(0)):(2*rand(0)) w p pt 7 ps 0.5 not"
Circle = "[0:2*pi:pi/12] '+' u (cos($1)):(sin($1)) w lp pt 7 not"
CircleFirst = "[0:2*pi] '+' u (cos($1)):(sin($1)) w lp pt 7 not"
Line = "[-0.5:0.5:0.5] '+' u 1:1 w lp pt 7 lw 2 not"
LineFirst = "[-0.5:0.5] '+' u 1:1 w lp pt 7 lw 2 not"
set multiplot layout 4,3 columnsfirst
set label 1 "random/circle/line" at screen 0.166,0.99 center
unset parametric
set title "parametric OFF"
plot @RandomFirst, @Circle, @Line
set parametric
set title "parametric ON"
plot @Random, @Circle, @Line
unset parametric
set samples 1000
set title "parametric OFF"
plot @RandomFirst, @Circle, @Line
set parametric
set title "parametric ON"
plot @Random, @Circle, @Line
set label 2 "line/random/circle" at screen 0.5,0.99 center
unset parametric
set title "parametric OFF"
plot @LineFirst, @Random, @Circle
set parametric
set title "parametric ON"
plot @Line, @Random, @Circle
set samples 3
unset parametric
set title "parametric OFF"
plot @LineFirst, @Random, @Circle
set parametric
set title "parametric ON"
plot @Line, @Random, @Circle
set label 3 "circle/line/random" at screen 0.833,0.99 center
unset parametric
set title "parametric OFF"
plot @CircleFirst, @Line, @Random,
set parametric
set title "parametric ON"
plot @Circle, @Line, @Random,
set samples 24
unset parametric
set title "parametric OFF"
plot @CircleFirst, @Line, @Random,
set parametric
set title "parametric ON"
plot @Circle, @Line, @Random,
unset multiplot
### end of code
Результат:
![enter image description here](https://i.stack.imgur.com/5cgOL.png)