例如,这会使gnuplot-x11图形窗口保持打开状态,直到按下某个键:
gnuplot -e "plot \"file\" ; pause -1 \"text\""
Run Code Online (Sandbox Code Playgroud)
如何保持打开直到手动关闭?
我有 6 个文件需要绘制为带有误差范围的折线图,并将它们输出到不同的 png 文件。文件格式如下。
秒平均最小值最大值
我将如何自动绘制这些图形?所以我运行一个名为 bash.sh 的文件,它将获取 6 个文件并将图形输出到不同的.png文件。还需要标题和轴标签。
如何从文本文件值绘制图形?文本文件如下所示:
location count1 count2
HZ 100 193
ES 514 289
FP 70 137
BH 31 187
Run Code Online (Sandbox Code Playgroud)
我想将这些值绘制为 shell 脚本中的图形。在位置列的 x 轴值和 count1 和 count2 列的 y 轴值中。
我想用这些数据的 Gnuplot 制作散点图(第一列作为 x 坐标):
2015.493379 5
2015.505479 5
2015.513699 25
2015.530137 25
2015.532877 20
2015.543836 5
2015.552055 5
2015.554795 10
2015.563014 15
2015.565753 15
2015.582192 10
Run Code Online (Sandbox Code Playgroud)
我正在使用这个命令:
plot "file.txt" u 1:2
Run Code Online (Sandbox Code Playgroud)
问题是 x 轴精度:当我将鼠标悬停在 2015.53 和 2015.54 之间的点上时,两个点显示的 x 值都是 2015.53,而不是 2015.530137 和 2015.532877。gnuplot 在前两位小数处截断第一列编号(2015.49、2015.50 等)。我试图更改 x 格式(ex 格式为 x %.6f)但它并没有改变精度:x-tics 只是变成 2015.490000 等而不是 2015.49,而我想要 2015.493379 等,并且鼠标指针没有给出额外信息(在左下角,鼠标指向的点的坐标具有相同的精度)。
你知道如何告诉 gnuplot 考虑整个数字吗?
我正在学习 GNUplot。我需要更改在绘制我的 graph.xrange 命令时 Y 值增加的步骤将更改范围但步骤。前任。我有这样的数据
1 1000
2 1500
3 1
4 200
...
默认情况下,GNUplot 将 Y 范围设为 [0,5000],这对我来说没问题。但是 y 值以 500 的步长增加,我想以 200 的步长增加。这可能吗?
我需要在我的 gnuplot 命令中使用 shell 变量,为此我使用 here 文档样式。我还需要在 gnuplot 代码中使用循环。这两件事都在起作用。
现在 - 我想使用 gnuplot for 循环索引来访问 shell 数组变量。这就是我整天被困的地方。
我有这样的事情:
for ((i=0; i<=10; i++))
do
var[$i] = i*10
done
gnuplot<<EOF
do for [j=1:10]{
#need to access ${var[j]} somehow
val=sprintf("${var[%d]", j) ##doesn't work
}
EOF
Run Code Online (Sandbox Code Playgroud)
像 ${var[1]} 这样的个人访问是有效的。我怀疑这可能需要使用反引号和/或 expr,但我不确定。
所以使用 gnuplot,我的代码如下所示:
set isosamples 40
unset key
set title "Radial Matrix Elements"
set xrange [1:15]
set yrange [1:15]
set xlabel "n1*"
set ylabel "n2*"
set zlabel 'R'
splot 's1p.pun' u 1:2:4 with lines
set view 135,135
replot
Run Code Online (Sandbox Code Playgroud)
输出如下图所示。我如何摆脱连接线并获得与它们不存在相同的外观?

我在文本文件中有一组数据(未排序的 X、Y 坐标)。我想使用绘制它gnuplot并使用线条连接绘制的点。
我试过:
plot "a.txt" with lines
Run Code Online (Sandbox Code Playgroud)
但它将第一个点连接到第二个点,依此类推。我希望它只连接绘制的点,而不是第一个到第二个,依此类推。
我正在试验进化算法,我写了两个文本文件,我无法得到图。根据谷歌上的信息,我认为我的格式是正确的。
(代号)(选项卡)(最佳适应度)
例如:
1 231
2 240
3 245 ...
为了绘制此图,我启动了 gnuplot,然后我会看到欢迎屏幕。然后我输入: plot 'ga.txt'
光标立即返回,没有绘制任何内容。
我正在使用 64 位 Mint 和 Mate。
我需要使用 gnuplot 生成图像并给出以下指南
宽度=90 mm(255 pt),300 dpi 时的像素=1063,500 dpi 时的像素=1772,1000 dpi 时的像素=3543
我怎样才能生成宽度= 90毫米和像素= 1063为300 dpi的图像在gnuplot中我使用
set terminal pngcairo size 420,768
Run Code Online (Sandbox Code Playgroud)
但是如何将 x 和 y 转换为所需的宽度和像素
我正在我的 Linux Mint (cinnamon) PC 上使用 gnuplot 和 Rust 来完成一个项目。然而,一旦我尝试显示图片,我就会得到:
called `Result::unwrap()` on an `Err` value: Couldn't spawn gnuplot. Make sure it is installed and available in PATH.
Cause: No such file or directory (os error 2)
Run Code Online (Sandbox Code Playgroud)
这看起来没问题,因为我还没有下载 Gnuplot。然而一旦我跑了
sudo apt install gnuplot
Run Code Online (Sandbox Code Playgroud)
我明白了
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package gnuplot-x11 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or …Run Code Online (Sandbox Code Playgroud) 在这里,我有一个数据,我将使用 Gnuplot 用线条绘制该数据。使用代码
pl 'Sphere_ISOTEST_data.txt' w p
Run Code Online (Sandbox Code Playgroud)
我得到下图
但是,使用
pl 'Sphere_ISOTEST_data.txt' w l
Run Code Online (Sandbox Code Playgroud)
我得到以下信息:
任何人都可以建议如何对数据进行排序,以便我可以绘制w l并仅获得圆的周长。
gnuplot ×12
plotting ×2
shell-script ×2
array ×1
bash ×1
command-line ×1
linux ×1
numeric-data ×1
rust ×1
sort ×1
x11 ×1