使用循环在 Gnuplot 中生成绘图

2024-02-28

我想使用 Gnuplot 生成几个图,这就是我需要使用循环的原因。数据从文件“sort'i'.dat”加载。代码如下所示,但不起作用。我的主循环有一些问题。我不知道为什么它不起作用,也许它与我的 Gnuplot 版本有关。谢谢。

do for [i=0:10] {
  set term png
  set output 'sort'.i.'.png'
  set title "Quick sort"
  set xlabel "Position number"              
  set ylabel "Number on position"
  unset key                               
  plot 'sort'.i.'.dat' using 1:2 with points pt 5
}

错误是: “第 1 行:无效的复数​​常量”


这种do for4.6.0版本引入了迭代:

以下迭代仅从 4.6.0 开始有效:

do for [i=0:10] { print i }

迭代

plot for [i=0:10] i*x

也适用于 4.4

4.4 的另一种选择虽然相当丑陋,但却是“外包”迭代。只有两条线依赖于迭代变量,这使得这是可行的。您在 gnuplot 之外构建所有绘图指令,然后eval完整的字符串:

以使用 bash 为例:

set terminal pngcairo
set title "Quick sort"
set xlabel "Position number"              
set ylabel "Number on position"
unset key
set style data points

loopstr = 'set output ''sort%d.png''; plot ''sort%d.dat'' using 1:2 pt 5; '
eval(system('exec bash -c "for ((a=0;a<=10;a++)) do printf \"'.loopstr.'\" \$a \$a; done" '))

For the exec bash see gnuplot 和 bash 进程替换 https://stackoverflow.com/a/19290463/2604213。当然,您可以使用任何其他程序来进行迭代。

但这当然并不能取代 gnuplot 内部迭代的便利性。为什么不升级到4.6?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用循环在 Gnuplot 中生成绘图 的相关文章

  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 我应该如何格式化 .dat 文件以便制作 3D 矢量图?

    我正在为大学做这个编程任务 我们必须写一个c 计算 3D 空间中某些线圈的磁场矢量的程序 我已经成功编写了这个程序 并且我认为它运行得很好 不过 我想添加一个特殊的东西 这是我的试卷 所以它必须特别好 我想绘制出向量 我习惯打电话gnupl
  • gnuplot:字体较小的字幕

    有人知道如何在 gnuplot 中插入较小字体的字幕吗 目前 我创建字幕的方式是使用 n在标题中 另外 我希望字幕的字体较小 提前致谢 这至少适用于 postscript 终端 出于某种原因x11不想缩放我的字体 也许这是一个错误 set
  • 如何在 gnuplot 中绘制导入数据的函数?

    如果我有一个包含多个数据点的文件 我怎样才能绘制它们的函数 例如 假设我有一个 to columns 的文件x and y我想绘制sin y 作为一个函数1 x 尝试这个 plot u 1 1 sin 2 w l 2 00000 0 161
  • Watir 更改 Mozilla Firefox 首选项

    我正在使用 Watir 运行 Ruby 脚本来自动执行一些操作 我正在尝试自动将一些文件保存到某个目录 因此 在我的 Mozilla 设置中 我将默认下载目录设置为桌面并选择自动保存文件 然而 当我开始运行脚本时 这些更改并未反映出来 似乎
  • 无法访问“不安全”java方法的java表达式语言

    我正在开发一个项目 让用户向服务器提交小 脚本 然后我将执行这些脚本 有很多脚本语言可以嵌入到Java程序中 例如mvel ognl uel clojure rhino javascript等 但是 据我所知 它们都允许脚本编写者调用Jav
  • 关于加拿大短信网关提供商的建议[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我很好奇 如果我能够接受传入的短信到某个号码 然后将其传递给 PHP 中的服务器端应用程序 会带来多少麻烦 金钱 我最终会通过电子邮件地址发回短信 有
  • 正则表达式,如果模式在引号中则忽略模式

    编写一个非常简单的脚本解析器作为学校项目的一部分 虽然这不是必需的 但我很好奇是否可以仅使用正则表达式来完成 语法类似于 ASP 其中脚本以 结尾 它只支持一个命令 pr 与echo或Response Write相同 现在我正在使用这个正则
  • Gnuplot:Logscale 似乎把事情搞砸了

    我放入了对数刻度 它弄乱了网格线的绘制 主要 x 网格线不再与主要 y 网格线具有相同的灰色 它们是次要 x 和 y 网格线的灰色 以下图片显示了这一点 关于如何解决这个问题有什么想法吗 Thanks usr bin env gnuplot
  • 使用Python批量编辑csv文件

    我需要编辑几个 csv 文件 实际上 大多数文件都很好 只是最后 第 41 列需要更改 对于该列中特定字符串的每次出现 我需要将其替换为不同的字符串 具体来说 每次出现的 S D 都需要替换为 S 我尝试使用 Python 来完成此操作 但
  • 如何在不使用 -cp 开关的情况下在 Groovy 中自动加载数据库 jar?

    我想简化调用 Oracle 数据库的 Groovy 脚本的执行 如何将 ojdbc jar 添加到默认类路径以便我可以运行 groovy RunScript groovy 代替 groovy cp ojdbc5 jar RunScript
  • 使用 Inno Setup 中格式化(部分粗体)的文本制作安装程序?

    有人看过 GOG com 游戏安装程序吗 如何制作像这样的欢迎文本字符串 包括单个标题中的路径和需要大小 其中部分内容加粗 以下是修改安装路径后如何更改字符串换行的示例 您可以使用TRichEditViewer http www jrsof
  • C shell 脚本中是否有短路逻辑运算符?

    我认为 C shell 脚本的行为会像 C 一样 并对逻辑运算符使用短路求值 if e cache find monitor newer cache then endif 但在 if 语句中 即使第一个条件为真 也会检查第二个条件 从而给出
  • 使用 ScriptEngine 从 JavaScript 调用 Java 方法

    我正在使用 ScriptEngine 运行 JavaScript 我希望 JavaScript 脚本能够调用 myFunction 其中 myFunction 是我的给定类中的一个方法 我知道可以将 importPackage 用于标准 J
  • 如何识别 CVS 中存在哪些分支?

    我有一个遗留的 CVS 存储库 应将其迁移到 Perforce 对于每个模块 我需要确定该模块中存在哪些分支 我只想要一个分支名称列表 没有标签 出于脚本编写的原因 它必须是命令行工具 例如 假设有一个 cvs list branches
  • Start-Job 将 XML 对象传递给 -ArgumentList 在 Powershell V2 和 V3 中工作方式不同

    我正在使用 Powershell v3 在 Windows Server 2012 上测试我的应用程序的部署脚本 该脚本在使用 Powershell v2 的 Win Server 2008 R2 和 Win 7 上运行良好 我现在遇到的问
  • 使用 gnuplot 的线段

    我有一个数据文件 有四列 分别代表 x1 y1 x2 y2 e g 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 etc 现在我想使用 x1 y1 和 x2 y2 作为线段的端点来绘制线段 因此我将从上面的数据文件中得到
  • 如何让批处理文件等待另一个批处理文件完成执行?

    如何让一个批处理文件等待另一个批处理文件完成 例如 我有 echo hi gt r txt echo some piece of code gt gt r txt start ar bat echo some piece of code g
  • gnuplot - 删除行标题

    我尝试搜索 但找不到针对这种特定情况的解决方案 在我的图中 我正在比较两条痕迹 我使用的是折线图 两条迹线都用不同的颜色绘制 plot delay try1 dat using 1 2 title With CloneScale with
  • gnuplot 和 postscript 终端中的嵌套循环

    我正在使用 gnuplot 和 postscript eps 终端 这是我的脚本 set terminal postscript eps enhanced solid Helvetica 14 set output gamma off re

随机推荐

  • 当我按下 return/enter 键时,h:inputText 可以调用托管 bean 内的方法吗

    所以我有一个inputText有它的价值挂钩myBean text 我希望如果我单击 Enter Return 键 inputText 将调用内部的方法myBean做某事 谁能帮我 根据您的问题历史记录 我知道您正在使用 JSF 2 0 因
  • 如何使用 Gradle Bulid Tool 解决依赖关系并编译 Junit 测试类

    我是 Gradle 新手 目前我添加了一个小型 java 项目并且执行得很好 如果我的理解是正确的 请纠正我 因为 java 可用 我们能够编译 java 项目并执行得很好 为了测试 我在 junit 的帮助下编写了一个测试类 但我无法编译
  • 将控制字符应用于字符串 - Python

    我正在尝试将控制字符 例如应删除前面的字符的 x08 x08 应用于字符串 向后移动 写入空格 向后移动 例如 当我输入 python 控制台时 s test x08 x08 print s print repr s 我进入我的终端 tes
  • 如何将 git status 限制为仅当前目录中的常规文件?

    我想查看当前目录的状态 因为子目录有很多变化 我就是这么做的not我想看看 下面的命令并不能解决问题 git status 有没有办法获得这种报告 除了 grep 的输出之外git status Use git status
  • 如何在 WSGI 处理程序中捕获“[Errno 32] 管道损坏”

    WSGI 对于构建高度并发的 HTTP 服务器以支持例如然而 长轮询通常会在某个时刻被客户端结束长时间运行的 HTTP 请求 要清理任何资源并打开句柄 应该向 WSGI 服务器后端通知任何此类事件 但是 目前似乎无法在 WSGI 处理程序中
  • 将整体 bar 和 perc 标签添加到 geom_bar

    我正在寻找以下问题的解决方案 我有包含两个因子变量的数据EDU and LEVEL 可重现的数据样本在这里 structure list EDU structure c 3L 1L 2L 2L 3L 2L 3L 2L 3L 1L 1L 1L
  • Conda - 无法完全删除环境

    我使用的是 Windows 10 所有命令都以管理员身份运行 我创建了一个名为 myenv 的环境 然后我用了 conda env 删除 n myenv 现在 如果我尝试 康达信息 envs 我只看到基础环境 但是 如果我尝试 conda
  • BigQuery/以太坊数据集 - 如何编写代码

    对于以太坊数据集 如果我知道特定合约的上个月交易 任何人都可以告诉我应该如何在 BigQuery 中编写 例如 如果我想知道合约地址 0x41dbecc1cdc5517c6f76f6a6e836adbee2754de3 上个月进行了多少笔交
  • 如何使用 qt5(QtQuick 2.1) 及更高版本在窗口上打印度数符号

    当我使用 qt4 8 qt fast 1 1 进行 gui 时 我可以成功地打印学位 260但是当升级到 qt5 及更高版本时 它就停止工作了 我在网上搜索 发现了很多相关链接 例如 http www fileformat info inf
  • TOD 时钟时间为 java.util.Date 或毫秒

    我有一个数据库表 其中填充了通过 ETL 来自大型机的数据 该表的一列称为 TOD 如 Time Of Day 中的 TOD 该列存储诸如以下的值 CAE7631DC43DC686 CAE7631C4AC6DC0B CAE6216DF2BC
  • 如何通过 JDBC 使用 Windows 密钥库 (MCS)?

    我正在尝试创建一个使用java应用程序PKI用于身份验证 我需要能够从 Microsoft 证书存储 MCS 检索证书并将其传递到 Oracle 数据库 11 2 我正在使用jdbc oracle thin司机 在谷歌上花了相当长的时间后
  • 有没有办法拆分/分解 Gradle 构建的公共部分

    我们有几个独立的构建 每个独立构建都是一个多项目构建 主要构建脚本变得相当大 因为我们有一组由子项目重用的常见任务 独立构建之间也存在大量重复 我们正在寻找的是 一种分割主构建文件的方法 分成较小的文件 重用某些部分的方法 在其他独立构建中
  • HTML5 / Javascript - DataURL 到 Blob 和 Blob 到 DataURL

    我有一个来自画布的 DataURL 显示了我的网络摄像头 我使用 Matt 的答案将此 dataURL 转换为 blob 如何在javascript中将dataURL转换为文件对象 https stackoverflow com quest
  • 如何显示Eclipse的隐藏工具栏

    Eclipse 有一个上下文菜单项来隐藏 RCP 的整个工具栏 显示隐藏工具栏的相应菜单项在哪里 我知道如果使用新的工作区应该显示它 不过我希望在eclipse的GUI中找到相关的功能 使用 窗口 菜单 那里有一个 显示工具栏 选项
  • fputcsv 将 HTML 代码插入 csv 文件

    我在使用 fputcsv 写入 csv 文件时遇到问题 它将页面 html 也放入 csv 文件中 我的代码有什么问题吗 Excel header header Content Disposition attachment filename
  • 如何使用 Statsmodels.api 获取回归截距

    我正在尝试使用 python 库计算回归输出 但在使用该库时无法获取截距值 import statsmodels api as sm 它打印除截距之外的所有回归分析 但是当我使用时 from pandas stats api import
  • Facebook 发送对话框:在描述中添加换行符

    这是我必须向我的应用程序发送邀请的 URL https www facebook com dialog send app id MY APP ID name hola link http www aWebSite com picture h
  • 带有路径点的 Google 地图 Intent 的 URI

    我想添加到我的应用程序中打开超过 2 个点的 Google 地图应用程序的功能 但我只能设置起点和终点 如何添加航点 我已经尝试过 uri 中所述https stackoverflow com a 13565504 3626048 http
  • C# - 如何按彩虹顺序排列颜色列表?

    从图像列表中 我使用一种方法计算了平均颜色与此类似 https stackoverflow com a 1068399 7918485 我现在有一个清单System Drawing Color 但我不知道如何以看起来像彩虹的方式对它们进行排
  • 使用循环在 Gnuplot 中生成绘图

    我想使用 Gnuplot 生成几个图 这就是我需要使用循环的原因 数据从文件 sort i dat 加载 代码如下所示 但不起作用 我的主循环有一些问题 我不知道为什么它不起作用 也许它与我的 Gnuplot 版本有关 谢谢 do for