Есть ли способ использовать gnuplot для получения фрагмента из 4D-plot gnuplot? - PullRequest
0 голосов
/ 25 октября 2019

У меня есть файл с четырьмя столбцами. Я построил 4D-график с помощью инструмента gnuplot следующим образом.

splot 'test.dat' u 1: 2: 3: ($ 4 <200.0? $ 4 / 4.184: 1/0) w pm3d </p>

Теперь я хочу увидеть фрагмент графика, ось X которого является некоторой постоянной величиной. Скажем, когда первый столбец равен 0,3, я хочу увидеть трехмерный график, построенный из 2,3,4 столбцов.

1 Ответ

1 голос
/ 25 октября 2019

Вы не показываете свои данные, поэтому я предположил что-то. Подобно тому, как вы определяете свой цвет с помощью троичного оператора, вы можете «фильтровать» срез с постоянной x + dx.

Код:

### slice from 4D data
reset session

# create some test data
f(x,y) = x**2 + y**2
c(x,y) = x + y
set print $Data
    do for [i=-10:10] {
        do for [j=-10:10] {
            print sprintf("%.3f %.3f %.3f %.3f", i, j, f(i,j), c(i,j))
        }
        print ""
    }
set print

set xrange [-10:10]
set yrange [-10:10]
set zrange [0:200]
set cbrange [-20:20]

SliceX = 5
dx = 1
set multiplot layout 1,2

    splot $Data u 1:2:3:4 w pm3d notitle 
    splot $Data u ($1>=SliceX && $1<=SliceX+dx?$1:NaN):2:3:4 w pm3d notitle 

unset multiplot
### end of code

Результат:

enter image description here

...