plot x+3 , x**2+5*x+12
是否可以设置x+3
只有 2 个样本并且x**2+5*x+12
比如说同一个图中有 1000 个样本?
这是可以做到的,但不是开箱即用的。
第一个变体使用临时文件来保存一个低采样率的函数,并稍后将其与高分辨率函数一起绘制:
set samples 2
set table 'tmp.dat'
plot x+3
unset table
set samples 1000
plot 'tmp.dat' w lp t 'x+3', x**2 + 5*x + 12
这样做的优点是您可以对这两个函数使用任何采样率。
对于你的特殊情况2
对于一个函数的示例,无需外部文件即可完成,但它涉及相当多的技巧:
set xrange [-10:10]
s = 1000
set samples s
f1(x) = x + 3
set style func linespoints
set style data linespoints
plot '+' using (x0 = (($0 == 0 || $0 == (s-1) )? $1 : x0), \
($0 < (s-2) ? 1/0 : x0)):(f1(x0)) t 'x+3',\
x**2 + 5*x + 12
我在这里所做的是:
- 使用特殊文件名
+
生成当前的一组坐标xrange
。必须设置此项,否则不可能进行自动缩放。
- 通过赋予值来跳过除第一个和最后一个点之外的所有点
1/0
不起作用,因为剩下的两个点没有连接。
- 所以我存储第一个
x
-值(当$0
, or column(0)
equals 0
)并在遇到倒数第二点时使用它。对于最后一点,使用常用值。
这适用于你的特殊情况2
样品。
您必须记住,第一个函数被视为数据,因此您必须同时使用两个函数set style data
and set style func
(只是为了展示)。
4.6.4的结果是:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)