【问题标题】:Total reset of a gnuplot sessiongnuplot 会话的完全重置
【发布时间】:2020-10-27 11:50:38
【问题描述】:

我想要一种从gnuplot 中完全重置gnuplot 会话的方法;完全等同于退出和重新启动。

命令resetreset session (http://www.bersch.net/gnuplot-doc/reset.html) 是不够的,因为之前设置的某些选项在任一命令之后都存在(例如,set termset output、...)。

请注意,how to completely reset gnuplot? 的解决方案不足以满足我的目的。

就上下文而言,我遇到的问题是我经常使用同一个终端会话来执行许多不同的gnuplot 脚本来制作许多不同的图。对于其中一些图,我想简单地使用默认选项,而对于其他图,我更喜欢更具体。如果我在运行“默认”脚本之一之前运行更“特定”的脚本之一,则许多“特定”设置将应用于“默认”图,即使每个脚本都以 reset session 命令开头。我目前的解决办法是手动重启gnuplot,有点烦。

以下最小脚本说明了该问题的一个示例:运行resetreset session 命令后,终端不会重置为默认值。这里的“默认”是指启动时加载的任何终端,在我的情况下为qt。请注意,终端类型只是在reset 命令之后徘徊的许多事物的一个示例。我想要某种方式将gnuplot 恢复到它开始时的状态。

show terminal

set terminal pdfcairo

show terminal

reset
reset session

show terminal

【问题讨论】:

  • 您能否向我们展示一个重现该情况的最小代码作为示例?
  • @binzo 我添加了一些代码

标签: gnuplot


【解决方案1】:

我不认为您提到的硬重置是由 gnuplot 提供的。 如您的示例所示,使用reset session 进行精确重置似乎很困难。

作为一种解决方法,您可以使用初始化脚本尝试以下方法。 help reset 说,

以下内容reset影响: set termset outputset loadpathset linetypeset fit set encoding set decimalsign set locale set psdir set overflowset multiplot

而且,help reset session 也提到了这样,

reset session 删除任何用户定义的变量和函数,恢复 默认设置,然后重新执行系统范围的 gnuplotrc 初始化 文件和任何私有的 $HOME/.gnuplot 或 $XDG_CONFIG_HOME/gnuplot/gnuplotrc 首选项文件。见initialization

根据这种行为,我建议你在初始化文件“$HOME/.gnuplot”中写入你需要的默认设置,当你做reset session时会调用它。

以下是执行此操作的步骤:

(1) 使用 -d 选项调用 gnuplot

(2) 运行命令save "settings.plt"将当前设置保存到“settings.plt”。

(3) 从“settings.plt”的内容中提取必要的设置。

这是我的环境中的情况(在您的环境中可能不同)。

set terminal x11  nopersist enhanced
set output
set loadpath 
set fit brief errorvariables nocovariancevariables errorscaling prescale nowrap v5
set encoding default
unset decimalsign
set locale "C"
set psdir

save命令没有写出线型的配置,需要单独检查。

(4) 运行命令show linetype查看线型的默认设置。

    linetype 1,  linecolor rgb "red"  linewidth 1.000 dashtype solid pointtype 1 pointsize default
    linetype 2,  linecolor rgb "#009e73"  linewidth 1.000 dashtype solid pointtype 2 pointsize default
    linetype 3,  linecolor rgb "#56b4e9"  linewidth 1.000 dashtype solid pointtype 3 pointsize default
    linetype 4,  linecolor rgb "#e69f00"  linewidth 1.000 dashtype solid pointtype 4 pointsize default
    linetype 5,  linecolor rgb "#f0e442"  linewidth 1.000 dashtype solid pointtype 5 pointsize default
    linetype 6,  linecolor rgb "#0072b2"  linewidth 1.000 dashtype solid pointtype 6 pointsize default
    linetype 7,  linecolor rgb "#e51e10"  linewidth 1.000 dashtype solid pointtype 7 pointsize default
    linetype 8,  linecolor rgb "black"  linewidth 1.000 dashtype solid pointtype 8 pointsize default
    Linetypes repeat every 8 unless explicitly defined

有关如何编写它的更多信息,请参阅help linetype

(5) 将它们写入“$HOME/.gnuplot”。

【讨论】:

  • 在没有官方解决方案的情况下,我认为这是你能做的最好的。我其实把你settings.plt的内容写成了脚本,然后我可以在我喜欢的时候运行,但是效果是一样的。
猜你喜欢
  • 2016-04-13
  • 2012-02-17
  • 2015-05-01
  • 2012-12-14
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多