#gnuplot
#gnuplot
Вопрос:
Я пишу отчет, и мне нужно сделать несколько хороших графиков, чтобы объяснить мою проблему. Для этого я хотел бы построить две кривые f (x) и g (x) и заполнить пространство между xmin и xmax. Есть ли способ сделать это? Кстати, я использую gnuplot 5.2, я пробовал это, но безуспешно:
f(x) = 1 x
g(x) = 1-x
plot ' ' using (x >= 0.75 amp;amp; x < 1 ? 1 : 1/0 ):(f($1)):(g($1)) with filledcurves closed
Ответ №1:
Показанная вами команда близка к работе. Измените его, чтобы быть
plot ' ' using (x >= 0.75 amp;amp; x < 1 ? $1 : 1/0 ):(f($1)):(g($1)) with filledcurves
обратите внимание, что
- фильтр
(condition ? $1 : 1/0)
не(condition ? 1 : 1/0)
- не используйте ключевое слово
closed
- у вас должно быть разумное количество выборок в выбранном диапазоне. Одним из способов получить это было бы
set samples 1000
но смотрите альтернативу ниже
Немного лучшим методом может быть использование диапазона выборки, а не фильтра на x.
f(x) = 1 x
g(x) = 1-x
set xrange [0:2]; set yrange [0:3]
plot sample [x=0.75:1.0] ' ' using ($1):(f($1)):(g($1)) with filledcurves