填充gnuplot中两条曲线之间的区域

填充gnuplot中两条曲线之间的区域,plot,latex,gnuplot,Plot,Latex,Gnuplot,我有两项职能: f(x) = x**2 g(x) = -(x-4)*x 我需要计算这两条曲线之间的面积,因为我想进行可视化。WolframAlpha正是我想要的:然而,我需要在gnuplot中制作图形。以下是我目前的代码: set border linewidth 1 set style line 1 linecolor rgb '#0060ad' linetype 1 linewidth 1 set style line 2 linecolor rgb '#dd181f' linetype

我有两项职能:

f(x) = x**2
g(x) = -(x-4)*x
我需要计算这两条曲线之间的面积,因为我想进行可视化。WolframAlpha正是我想要的:然而,我需要在gnuplot中制作图形。以下是我目前的代码:

set border linewidth 1
set style line 1 linecolor rgb '#0060ad' linetype 1 linewidth 1
set style line 2 linecolor rgb '#dd181f' linetype 1 linewidth 1
set key at 6.1,1.3
set xlabel 'x'
set ylabel 'y'
set xrange [-0.5:3]
set yrange [0:5]
set xtics 2
set ytics 2
set tics scale 2
f(x) = x**2
g(x) = -(x-4)*x
set grid ytics lt 0 lw 1 lc rgb "#bbbbbb"
set grid xtics lt 0 lw 1 lc rgb "#bbbbbb"
plot f(x) title 'f(x)' with lines linestyle 1, \
     g(x) title 'g(x)' with lines linestyle 2
它产生以下输出:

有什么方法可以像在沃尔夫拉马尔法那样突出显示这两条曲线之间的区域吗?假设我们知道它们在哪里相交(0和2),除非gnuplot可以自己做到这一点


如果这不是vanilla gnuplot能够做到的,我很抱歉,在这种情况下,一些指向可以做到这一点的资源的指针将非常有用。

这可以通过使用
填充曲线来实现(请参阅文档:)。只需使用下方的
选项
即可确保仅填充两条曲线之间的区域

例如,请尝试以下方法:

plot '+' using 1:(f($1)):(g($1)) title '' with filledcurves below lc rgb 'green', \
    f(x) title 'f(x)' with lines linestyle 1, \
    g(x) title 'g(x)' with lines linestyle 2

这是基于FAQ中对两条曲线的描述:

您是否查看了gnuplot手册和
帮助填充曲线
?这是:@theozh我有,不幸的是,因为我对gnuplot非常陌生,所以我无法理解它。不过,我认为你只能填充一条曲线下的区域,而我想填充两条曲线之间的区域。谢谢,这有点效果。两者之间的区域现在被绿色填充。但是,使用1:(f($1)):(g($1))
“+”在右上角显示为字符串。以下是当前绘图:这是预期的行为,还是我做错了什么,如果是,如何关闭该标签?尝试添加
标题“”
,更新示例。