如果列 A 有子字符串则绘图
我需要在 gnuplot 中执行此操作:
plot 1:4 where col 2=="P1", col 3=="3", col 1 has substring "blur1"
这是一个数据集:
col_1 col_2 col_3 col_4
gcc.blur1.O0 P1 3 10.5
icc.blur1.O2 P2 5 9.8
gcc.blur2.O3 P2 3 8.9
提前致谢。
I need to do this in gnuplot:
plot 1:4 where col 2=="P1", col 3=="3", col 1 has substring "blur1"
Heres a dataset:
col_1 col_2 col_3 col_4
gcc.blur1.O0 P1 3 10.5
icc.blur1.O2 P2 5 9.8
gcc.blur2.O3 P2 3 8.9
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
据我所知,您需要使用外部脚本来检查子字符串。像 awk 和 use 这样的东西
如果你只想测试 P1 的 col_2 ,你可以在 gnuplot 中通过
strcol(n) 获取第 n 列作为字符串。 “eq”可用于比较字符串。
AFAIK you need to use an external script to check for substrings. Something like awk and use
If you just want to test col_2 for P1 you can do it in gnuplot via
strcol(n) gets the n-ths column as a string. "eq" can be used to compare strings.
这种简单的检查可以使用 gnuplot 的 strstrt 函数来完成。它返回找到的第一个字符的索引,如果未找到子字符串,则返回 0:
因此,您的绘图命令可以如下所示
Such a simple check can be done with gnuplot's
strstrt
function. It returns the index of the first character found, or 0 if the substring wasn't found:So, your plot command can look like
如果您提前知道子字符串的确切位置,则可以尝试检查该部分是否相等:
ps.:以下是一些在 gnuplot 中处理字符串的方便示例:
http://gnuplot.sourceforge.net/demo/stringvar.html
If you know the exact position of the substring in advance, you can try to check for equality on that portion like this:
ps.: Here are some handy examples for dealing with strings in gnuplot:
http://gnuplot.sourceforge.net/demo/stringvar.html