首页 \ 问答 \ 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

相关问答

更多

使用#define的变量(Using a variable for #define)

Curl需要一个C字符串( const char * ),而不是C ++字符串( std::string )。 所以试试: std::string emailreceiver = "bla@bla.com"; rcpt_list = curl_slist_append(rcpt_list, emailreceiver.c_str()); 根本不需要使用#define ,这仅仅是一个例子。 Curl expects a C string (const char *), not a C++ str

使用变量替换(-d | --define)的Hive参数失败并带有字符串参数(Hive argument using Variable Substitution (-d|--define) fails with a string argument)

在调用配置单元时,您必须转义引号,例如-d arg_partition1=\"p1\" ,以使其-d arg_partition1=\"p1\" 。 但是,我不明白为什么你必须在任何情况下都将引号添加到替换字符串。 据推测,在编写查询时,您知道字段的数据类型,因此如果partition1是字符串,则在查询中包含引号,例如WHERE partition1="${arg_partition1}"; 如果它是一个整数,那么就把它们完全抛弃。 You'll have to escape your quo

使用字符串中的变量重新查询(Requery using a variable within string)

你只需要添加几个&符号 & " WHERE [qry_Records].[Due] < " & Day & ";" You just need to add a couple of ampersands & " WHERE [qry_Records].[Due] < " & Day & ";"

如何在python熊猫中定义可变数量的列应用(How to define a variable amount of columns in python pandas apply)

我猜测zip的输出是一个元组,所以你可以试试这个: temp = zip(*df['input'].apply(lambda x : do_something(x, number_of_columns_to_be_added))) for i, value in enumerate(temp, 1): key = 'n'+str(i) df[key] = value temp将保存所有条目,然后iterate temp以使用特定键将值分配给您的字典。 希望这符合你原来的想法。 I ...

String [] []澄清(String [][] clarification)

Java没有内置表数据类型,唯一的本机基本类型类型(元类型?)是 原始值(数字,字符和布尔值) 数组(相同类型的变量的线性可索引集合)。 类的对象(基本上是指定类型的命名变量的集合,以及一些由类修复的方法)。 (字符串就是这样的例子。) 其他一切必须由这些类型组成。 (为了使这一点复杂化,数组类型都被认为是java.lang.Object子类型,它是所有其他类继承的类。) 因此,您可以拥有特定类的数组,具有数组类型作为类变量(字段)的类,以及数组数组,如此处所示。 你的String[][]类型由

MYSQL:如何定义或获取LONG字符串变量(MYSQL: How to define or get LONG string variables)

限制取决于GROUP_CONCAT()的结果。 你可以改变它: SET group_concat_max_len = 10000 SET GLOBAL group_concat_max_len = (7*1024); SET GLOBAL max_allowed_packet = (50*1024*1024); The root of the problem was the function GROUP_CONCAT. the documentation says GROUP_CONCAT's ...

从定义的字符串中获取对象元素[重复](Get object element from a defined string [duplicate])

function getData(data,element){ console.log(data[1][element]); } 这是使用字符串键访问值的正确方法。 function getData(data,element){ console.log(data[1][element]); } That's the correct way to access the value by using a key that is a string.

在字符串上定义getter(Define getter on a string)

你可以在String.prototype上添加一个getter,但这是你唯一的选择。 字符串值是原语; 只有对象才能拥有属性。 如果你想在字符串上使用getter,它也必须出现在所有字符串上。 (你的getter可以选择不执行任何操作this != "some value" ,但这当然适用于所有"some value"字符串,而不是你创建的某些特定字符串。) 另请注意,在严格模式代码中执行时, "Some string".prop = "something"将抛出,其中还包括使用"use str

相关文章

更多

最新问答

更多
  • 使用javascript为用户延迟加载内容的更好方法是什么?(What is a better way to lazy load content for users with javascript?)
  • 如何修复无法将类型的值...转换为预期的参数类型inout _(How to fix Cannot convert value of type … to expected argument type inout _)
  • 从哪里开始解析JSON?(Where to start with parsing JSON?)
  • Mail.php不适用于.htaccess(Mail.php doesn't work with .htaccess)
  • 使用htaccess设置子域(Setting subdomains using htaccess)
  • mod_pagespeed和java应用服务器(mod_pagespeed and java app servers)
  • Win32:如何崩溃?(Win32: How to crash?)
  • FFmpeg中RGB到YUV转换的错误(Error in RGB to YUV conversion in FFmpeg)
  • 如何在Android中首次打开应用时创建弹出窗口?(How to create pop-up when first open app in Android?)
  • 通过动态传递表名和列名来反转COLUMN DATA(Reversing COLUMN DATA by dynamically passing table name and Column Name)
  • 如何计算C#中ICollection中有多少元素?(How can I count how many elements are in an ICollection in C#)
  • 从pg-promise查询中获得结果(get result out of a pg-promise query)
  • 使用管理器注册一个类,然后调用子类重写方法(Register a class with a manager, then call the sub classes overridden methods)
  • 传递&在查询字符串中(Passing & in query string)
  • 谷歌浏览器打印预览不会第一次加载页面(google chrome print preview does not load the page the first time)
  • FsLexYacc:Tests / MiniProject“在.fsproj中导入错误”(FsLexYacc : Tests/MiniProject “incorrect Import in .fsproj”)
  • 创建一个模型方法,计算用户的帖子并在rspec(Rails)中测试?(Create a model method that counts a user's posts and test in rspec (Rails)?)
  • 记录线程的奇怪行为(Strange behaviour of logging thread)
  • 移动数组中的索引(Moving indices in an array)
  • MVC 5 - > MVC 5.1迁移。(MVC 5 -> MVC 5.1 Migration. Intellisense issues)
  • 使用函数在z3中创建列表(Creating List in z3 using function)
  • 如何进行html随机重定向(How to make a html random redirect)
  • 角度js:使用角度过滤器分割日期,月份和时间(Angular js: spliting date,month and time using angular filter)
  • 将所有模块导入一个文件夹,并按其属性之一使用它们(Import all modules in one folder and use them by one of its attributes)
  • 只需要在git的当前分支上获得合并列表(Just get list of merge happened on my current branch in git)
  • React-Native导入库并在多个组件中可用(React-Native import a library and make available in multiple components)
  • 如何使用jQuery为固定(偏移)位置设置div动画?(How to animate div for a fixed (offset) position using jQuery?)
  • operator ==和vector confusion(operator== and vector confusion)
  • 如何获取所选图像映射alt值?(How to get selected image map alt value?)
  • 在角度,如何使用取消用户事件的美元间隔,如页面更改?(In angular, how to use cancel an $interval on user events, like page change?)