首页 \ 问答 \ Gnuplot:使用字符串变量来定义列(Gnuplot: Using a string variable to define columns)

Gnuplot:使用字符串变量来定义列(Gnuplot: Using a string variable to define columns)

由于各种原因,似乎执行某个绘图的最简单方法是让我在变量中存储我需要的列号,然后执行调用该变量的绘图命令。

这有可能吗?

我希望实现以下目标:

plot '< paste '.filesString.'' u 1:(columnsString)

此外,变量'columnsString'将具有类似的值

(\$2*\$5+\$(6*2-4)*\$(6*2-1))

例如,所以它需要能够评估字符串中的所有(6 * 2-4)样式总和。 我想强调一下,这个问题只是关于'columnsString'的评估,'filesString'变量工作正常。 我该怎么办呢?


For various reasons it seems that the easiest way to perform a certain plot is for me to store the column numbers I need in a variable, and then perform a plot command calling that variable.

Is this even possible?

I want to achieve something like:

plot '< paste '.filesString.'' u 1:(columnsString)

Also, the variable 'columnsString' will have a value like

(\$2*\$5+\$(6*2-4)*\$(6*2-1))

for instance, so it needs to be able to evaluate all the (6*2-4) style sums that are in the string. I want to emphasize that this question is only regarding the evaluation of the 'columnsString', the 'filesString' variable is working fine. How can I manage this?


原文:https://stackoverflow.com/questions/19003717
更新时间:2019-10-10 02:36

最满意答案

为此,您可以使用set macro 。 使用此设置,您可以使用字符串变量columnString ,并在评估之前将其内容放在命令中的某处:

set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)

我使用column()而不是简写$..来防止转义时可能出现的问题(好像你是从某个脚本调用它)。


For this you can use set macro. With this setting, you can use a string variable columnString, and put its content somewhere in a command, before this is evaluated:

set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)

I used column() instead of the shorthand $.. to prevent possible problems with escaping (seems like you are calling this from some script).

2013-09-25

相关问答

更多

有没有办法测试文件是否在git钩子中加密GPG?(Is there a way to test if a file is GPG encrypted in a git hook?)

您可以使用file命令检查文件并自动确定它看起来是什么类型。 例如: $ file foo.gpg foo.gpg: GPG encrypted data $ file foo foo: ASCII text 你可以在一个钩子中匹配这个。 就像是: case "$filename" in *.gpg) if [ "$(file -b "$filename")" != "GPG encrypted data" ]; then echo "Error: $filena

如何导入,然后重新加载没有最初的重复(How to import and then reload without initial duplicate)

导入之前,您可以从sys.modules删除该模块: def add(): sys.modules.pop("add_coffee_record") import add_coffee_record 另一种选择是直接调用imp.load_module : def add(): imp.load_module("add_coffee_record", *imp.find_module("add_coffee_record")) You could remove the

NSString到NSDate的转换问题(NSString to NSDate conversion problem)

我注意到的唯一输出差异是时间不同。 如果没有显式设置formatter的timeZone属性,它将使用系统的本地时区。 如果您希望时间与您和您的客户完全相同: [formate setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 这将确保输出始终是GMT。 The only output difference I notice is the time is different. If you do not explicitly set

某些Jmeter属性替换($ {__ P(...)})在远程测试中不起作用(some Jmeter property substitution (${__P(…)}) not working in remote test)

所以它看起来像远程服务器启动时的配置错误。 批处理文件(我们在这里说Windows)就像 "C:\apache-jmeter-3.3\bin\jmeter.bat" -s -Dserver_port=1098 -j "C:\ows\jmeter-service-ows.log" -d "C:\ows" ...因为所有杂项文件(源CSV,结果文件,日志)应该驻留在C:\ ows中。 但事实证明,当时Jmeter对它的库感到困惑。 批处理文件如下所示: "C:\apache-jmeter-3.3\

读取由空格分隔的输入数字并保存到数组中(Read input numbers separated by space and save into an array)

如果你知道你需要读多少个数字,那么有一个更简单的方法: int n; cin>>n; // how many numbers; vector<int> v(n); for ( int i=0; i<n; ++i ){ cin>>v[i]; } if you know how many numbers you have to read there is a simpler way: int n; cin>>n; // how many numbers; vector<int> v(n);

私人和公共职能(private and public functions)

代码中的private成员函数只是一种不必要的复杂问题。 我只是将他们的代码移动到公共成员函数:更少的代码,更干净的代码,更少的间接,所以更直接的可移植代码,都很好。 对于其中一些,你可以通过在details命名空间中使它们成为自由函数来支持重用,但我认为这将是过早的泛化,花费可能不会发生的可能重用的努力。 答案结束时的示例代码。 另一个设计问题,宣布 int minValue(); int maxValue(); 排除在const对象上调用这些成员函数。 相反 int minValue()

Mongotemplate中的update方法返回了什么?(What does the update method return in Mongotemplate?)

如MongoTemplate文档中所述: public com.mongodb.WriteResult updateFirst(Query query,Update update,Class entityClass)从接口复制的描述:MongoOperations更新在查询文档与提供的更新文档匹配的实体类集合中找到的第一个对象。 指定者:接口MongoOperations中的updateFirst参数:query - 指定用于选择要更新的记录的条件的查询文档update - 包含更新对象的更新文

为什么java类WeakReference不会覆盖hashcode和equals(why java class WeakReference does not override hashcode and equals)

Map(或Set的元素)上的任何键的一个重要方面是,一旦将其添加到集合中,它必须是不可变的(或至少不会更改)。 更改密钥具有未定义的行为,这种行为极不可行。 WeakReference可以随时更改由于执行GC,即以无法控制的方式,这使得equals / hashCode不适合使用这些的一般集合。 我试图制作MyWeakConcurrentHashMap 一个简单的方法是使用WeakHashMaps数组。 例如32个分区。 使用hashCode()来确定要使用的WeakHashMap。 这样你就可

相关文章

更多

最新问答

更多
  • 如何在给出字符串的开始和结束部分时使用正则表达式提取字符串的一部分(How to extract a part of a string using regex, when starting and ending portion of the string is given)
  • 使用从下拉列表派生的变量作为select语句中的列名... Access DB(Using a variable derived from a drop-down list as the column name in a select statement … Access DB)
  • 禁用付款选项 - 仅限特定产品 - magento的货到付款(Disable payment options-only cash on delivery for particular product-magento)
  • Python:Spyder在未停靠的编辑器窗口和spyder控制台之间切换(Python: Spyder switching between undocked editor window and spyder console)
  • 使用proxy_pass会影响letsencrypt的安装吗?(Will using proxy_pass affect letsencrypt installation?)
  • 即使confirm()方法为false,jquery AJAX也会提交表单(Jquery AJAX submits the form even if confirm() method is false)
  • 我可以使用带有params关键字的lambda表达式吗?(Can I use a lambda expression with params keyword?)
  • 以编程方式在swift中格式化字符串(Programmatically formatting string in swift)
  • 如何根据现有因素在新列中添加因子(How to add a factor in a new column according to the existing factors)
  • android快速加载来自网址的图片(android fast load image from url)
  • yii CHtml ::按钮和POST请求到控制器(yii CHtml::button and POST request to controller)
  • 无法更改工具栏的颜色(Can't change the color of toolbar)
  • android ListIterator,类转换bug?(android ListIterator, class casting bug? please check my log)
  • 当我使用函数创建属性时,如何向R data.frame添加属性?(How do I add an attribute to an R data.frame while I'm making it with a function?)
  • 如何将我的数据存储到Activity类中的一个对象中,并将该对象发送到另一个Activity类(How to store my data into one object in my Activity class and send that object to another Activity class)
  • 无法在wamp服务器上的joomla安装中配置数据库(Unable to configure database in joomla installation on wamp server)
  • 捕获所有重复的组(Capture all repeated groups)
  • 为宏提供状态更新,直到完成后进入无响应状态(Providing status updates for macro that goes into not responding state until completion)
  • 如何让PDO Fetch()以字符串形式返回(How to get a PDO Fetch( ) to return as string)
  • 无法访问SDK工具来安装NDK(Can't access SDK Tools to install NDK)
  • 获取CGPoint与应用程序窗口进行比较(Get CGPoint in comparison to app Window)
  • 如何在css中对齐图像和文本?(How to align images and text in css?)
  • BinaryWriter将脏字符放在AppendMode的开头写入[重复](BinaryWriter puts dirty chars at the begin writing in AppendMode [duplicate])
  • Jquery垂直内容滚动条(Jquery Vertical content scroller)
  • 是否有可能在android studio中更改.so文件代码并进行构建?(Is it possible to change the .so file code in android studio itself and make a build?)
  • prolog避免重复谓词(prolog avoiding duplicate predicates)
  • 在Swift中使用AlamoFire创建通用方法(Creating a generic method with AlamoFire in Swift)
  • 如何获得给定的JSON值?(how to get given JSON value?)
  • 访问当前对象的类(Access class of current object)
  • 如何延迟jQuery中的文本功能(How to delay the text function in jQuery)