Поиграв немного с Gnuplot, я нашел еще один способ построения градиентные заполнения прямоугольника, если у вас есть файл с данными и не использует multiplot
.
Так что если у вас есть файл с именем данные с данными, как это:
x_i y_i
на г-го столбца, вы можете сделать это в Gnuplot:
set view map
set palette
set pm3d explicit map
splot "data" using 1:2:(1) with lines lw 2 lc rgb "your_color", (x<x_min || x>max) || (y<y_min || y>y_max) ? 1/0 : x with pm3d
Важным является explicit
параметр при настройке pm3d: он цвета с цветами палитры, когда вы даете команду with pm3d
. Таким образом, вы можете покрасить свои данные своим любимым цветом. Третий аргумент using
- это просто z-значение, и в этом случае это 1. Значения x_min, x_max, y_min, y_max
- это координаты вершин прямоугольника.
В качестве примера, у меня был файл, как этот
2*pi*i/500 sin(2*pi*/500)
где pi
= 3,1415 ... С x_min=1
, x_max=3
, y_min=-0.7
и y_max=0.1
, я получил этот график:
Конечно, это может быть довольно трудоемким по сравнению с методом, данным @andryas, потому что мы должны написать это длинное выражение с тернарной операцией rator, но для тех, кто не знаком с multiplot
, это тоже работает.
Вы имеете в виду объект, подобный прямоугольнику с заполнением градиентом, например, в powerpoint? Я не думаю, что это особенность gnuplot - вам придется записывать 2D-данные или функцию, которая имеет желаемый градиент (что-то вроде 'set pm3d map; splot x'). – andyras
Да, точно так же, как в powerpoint! После отличного времени поиска в Интернете, я думаю, что это тоже не особенность gnuplot ... Не могли бы вы дать ответ, просто объяснив, как это сделать? Спасибо за прочтение! – Larara