【问题标题】:Gnuplot - Using replot with png terminalGnuplot - 使用带有 png 终端的 replot
【发布时间】:2012-06-15 05:03:19
【问题描述】:

我正在尝试在 Gnuplot 中使用带有 png 终端的 replot。

如果我执行以下操作,我会在一张图上毫无问题地得到两个图:

plot sin(x)/x
replot sin(x)

现在,如果对 png 终端类型执行相同操作,则生成的 png 文件仅包含第一个绘图。

set terminal png
set output 'file.png'
plot sin(x)/x
replot sin(x)

我最后是否遗漏了一些东西来获得我的 png 文件中的第二个情节?

【问题讨论】:

    标签: gnuplot


    【解决方案1】:

    这实际上是一个非常好的问题,这里的行为是终端相关的。某些终端(例如 postscript)将为每个 replot 提供一个新页面。你有几个解决方案...

    第一个选项:您可以在设置终端/输出之前进行绘图,然后在设置终端/输出后重新绘制:

    plot sin(x)/x
    replot sin(x)
    set terminal png
    set output 'file.png
    replot
    

    如果你想在多个终端中绘制相同的东西,这个选项有时很方便,但我很少将它用于其他任何事情。

    第二个(更好的)选项:您可以将多个图打包到一个命令中,用逗号分隔每个图。

    set terminal png
    set output 'file.png'
    plot sin(x)/x, sin(x)
    

    我非常喜欢第二种方式——在多图环境中,这是将多个图放在同一个图上的唯一方法。如果你有很长的函数要绘制,你可以用 gnuplot 的续行来换行(\ 在行尾——\ 之后不允许任何内容,甚至空格也不允许)

    plot sin(x)/x with lines linecolor rgb "blue" linetype 7 lineweight 4, \
         sin(x),                                                           \
         cos(x)
    

    【讨论】:

    • 谢谢。这些命令将从脚本发送。我可以使用第一个选项并在之前执行“设置终端未知”以避免弹出窗口。第二个选项使我需要的东西稍微复杂一些。我真的需要“重新绘制”的方式。
    • @Noel -- 没问题。乐意效劳。另一件事是第二种解决方案会稍微高效一些。我很高兴得知您了解了unknown 终端。这是大多数人不知道的 gnuplot 的一个漂亮角落。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多