我有一些想要在 xyz 坐标系中绘制的实验值。这些值在一定程度上受到一定的限制,因此有一个开始和一个结束。此外,我想绘制它们,它们的最后一点应该以特殊的方式可见。就像具有特殊颜色或特殊点的独特点。我怎样才能创建这样一条线,其中末端以点或类似的形式可见?
问问题
1878 次
1 回答
0
如果它是最后一个点,您可以使用every
它来选择它。不幸的是,获得最后一点没有“神奇”价值。您必须计算条目数并使用该值:
stats 'file.dat' nooutput
last_index = int(STATS_records - 1)
splot 'file.dat' with lines, '' every ::last_index with points
或者,您可以使用该using
语句添加一些过滤,该过滤仅适用于您要选择的单个点。
在最一般的情况下,你会
f(i, x, y, z) = ...
splot 'file.dat' with lines, '' using (f($0, $1, $2, $3) ? $1 : 1/0):2:3 with points
这会跳过所有点,f
返回0
. $0
是 的简写column(0)
,它给出行索引,$1
给出第一列的数值等等。
现在由您来定义适当的过滤函数f
。
如果终点是由例如具有最大值的点给出的x
,您可以使用:
stats 'file.dat' using 1 nooutput
f(x) = (x == STATS_max ? 1 : 0)
splot 'file.dat' with lines, '' using (f($1) ? $1 : 1/0):2:3 with points
如果您有其他标准,则必须f
相应地定义您的功能。
要在这一点上添加标签,您可以使用label
绘图样式:
splot 'file.dat' with lines, \
'' using (f($1) ? $1 : 1/0):2:3:(sprintf('(%.1f,%.1f,%.1f)', $1, $2, $3)) \
offset char 1,1 point notitle
于 2013-10-17T12:12:59.203 回答