微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将整数转换为字符串 gnuplot

如何解决如何将整数转换为字符串 gnuplot

我的代码如下,我想假设像 '3' 、 '4' 等迭代值。我的代码是这样的:

a=2
#perform some basic operation like:
b=a*2
#convert it to string
c=str(b)
p path1 u 1:($1<=0?$@c:1/0) w filledcurves y=0 

到目前为止,这里针对类似主题提出的解决方案没有奏效。

解决方法

你应该使用这个语法

  c=''.b

c 将等于 'b'

,

gnuplot 提供 sprintf(如在 C 语言例程中)和私有实现 gprintf,后者提供超出 C 语言提供的常规格式选项的格式选项。所有支持的格式选项的完整详细信息都在 gnuplot 文档中。一个非常简单的用法是:

c = sprintf("%8.3f",b)

但是,如果您的意图是在需要数字的绘图命令中使用该值,则将该值转换为字符串是没有意义的。您显示的伪代码中没有迭代,因此我无法准确猜测您的方向,但请注意,将 c 评估为迭代内的宏扩展的操作 @c 将始终产生 c 的内容是在迭代之前。所以在迭代中使用 @ 操作符几乎总是错误的。

,

如果我正确理解了您的最小不完整的非工作示例,我只能猜测您可能想要做什么,即将数据集的绘图限制在由某个变量选择的某个列中。正确的?如果我的猜测是真的,我会按照以下方式进行,不需要字符串转换和使用宏。检查help column

a=2
# perform some basic operation like:
b=a*2
plot path1 u 1:($1<=0 ? column(b) : NaN) w filledcurves y=0 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。