gpt4 book ai didi

output - 如何以全屏和特定大小打开 gnuplot?

转载 作者:行者123 更新时间:2023-12-04 01:04:04 24 4
gpt4 key购买 nike

我正在 gnuplot 中绘制图形,并希望以全屏和特定大小打开它们。

以前,我一直在多图模式下输出图形并使用 reread 更新它们;因此,当我手动最大化它时,经过几次迭代后,这些图会填满屏幕。现在,我还想将输出保存为文件。当我打开该文件时,它与原始多图输出的大小相同。但是,当我最大化它时,绘图的大小不会增加以填满屏幕。我有两个问题:

  • 如何全屏打开多图文件?
  • 如何使输出文件具有特定大小?

  • 这是我当前的 gnuplot 代码(在一个名为 gnuplotCode 的文件中):
    set terminal pngcairo dashed enhanced
    set output 'foo.png'
    set multiplot layout 3, 3
    plot for [iter=1:9] path/to/file using 1:(column(iter)) notitle
    unset multiplot
    unset output
    pause 10
    reread

    我尝试输入以下内容:
    gnuplot -geometry -3360-1050 gnuplotCode    # where my screen size is 3360x1050

    和:
    resolution=$(xrandr | grep '*') && resolution=${resolution%  *}
    gnuplot -geometry $resolution gnuplotCode

    但两种方法都不起作用。请您告诉我如何以全屏和特定尺寸打开 gnuplots?谢谢。

    最佳答案

    您必须区分基于像素的终端( pngcairopngcanvas (...) 和所有交互式终端 wxtx11qt 、 |7 , |1914| 、 |7 , |104| 4 |尺寸以像素为单位。对于基于矢量的终端( windowsaquapostscript 等),尺寸以英寸或厘米为单位。

    使用 svg标志仅适用于 postscript终端:

    gnuplot -geometry 800x800 -persist -e 'set terminal x11; plot x'

    对于所有其他基于像素的终端,您可以使用 -geometry以像素为单位设置 Canvas 大小的选项:
    set terminal pngcairo size 800,800

    当然,您也可以提取显示器分辨率并将其用作大小。这里有两种变体:
  • 提取 shell 上的监视器大小:
    monitorSize=$(xrandr | awk '/\*/{sub(/x/,",");print $1; exit}')
    gnuplot -e "monitorSize='$monitorSize'; load 'gnuplotCode'"

    文件 x11然后必须使用 gnuplot 变量 size如下:
    set macros
    set terminal pngcairo size @monitorSize
    set output 'foo.png'
    plot x

    注意,字符串变量 gnuplotCode 的内容必须用作宏,即在评估整行之前插入值。
  • 如果你不想在 shell 上多加一行,你也可以调用 monitorSize gnuplot 脚本中的内容通过 monitorSize功能。在这种情况下,文件 xrand如下所示:
    monitorSize=system("xrandr | awk '/\*/{sub(/x/,\",\");print $1; exit}'")
    set macros
    set terminal pngcairo size @monitorSize
    set output 'foobar.png'
    plot x**2

    您只能使用 system 调用它.

  • 请注意,shell 命令 as 始终仅提取第一个监视器的信息。

    关于output - 如何以全屏和特定大小打开 gnuplot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25409071/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com