gnuplot--填充两个函数之间的空间

18

我有两个函数,像这样:

f(x)=2**x
g(x)=1024

我该如何使用gnuplot绘制这两个函数,并将它们在x从0到10的区间之间填充?

2个回答

20

不幸的是,gnuplot 对函数不提供这种功能,仅适用于数据集。现在有两种方法可以实现此目的,其中一种我建议使用:

f(x)=2**x
g(x)=1024
xmax=10
set xrange [0:xmax]
plot '+' using 1:(f($1)):(g($1)) with filledcurves closed

1
这是对伪文件“+”的不错使用。很好的回答。+1 - mgilson

6

@toxicate20的回答演示了如何很好地使用伪文件+。对于这种特殊情况,实际上并不需要,因为你的其中一个函数只是一个常数:

set xrange [0:10]
plot 2**x w filledcurves y1=1024

在这种情况下,这个答案可能是正确的,但是g(x)=x呢? - windy
1
@windy -- 完全正确。使用此方法,您无法指定任意函数--只能是常数。(您可能可以使用with filledcurves xy=...来获得g(x)=x,但我不确定)另一个答案肯定更通用。对于您在问题中提到的特定情况,这个答案更简单。 - mgilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接