如何在 GNUPlot 中绘制简单的线段?
How to plot simple line segments in GNUPlot?
我正在尝试绘制一条从 (0,0) 到 (0,1) 的基本线段。我已经有一个输入文件,但我想在其中添加一行。
我已通读 and 以及 许多 其他示例。每个人都在做比我想要的复杂得多的事情,我只想将线段添加到我的 GNUPlot 脚本中。
我通常这样将数据输入到 GNUPlot 中:
$DATA << EOD
.... other data
EOD
$LS << EOL
0 0
0 1
EOL
plot $DATA using 1:2:3 with points
plot $LS with lines
但这行不通,
plot $LS using 1:2 with lines
如何绘制这条从 (0,0) 到 (0,1) 的简单线段?
您可以使用 headless arrows 绘制任意线段。
set xrange [0:1]
set yrange [0:1]
set arrow 1 from 0,0 to 0,1 nohead lw 3 lc 2
set arrow 2 from 0,0 to 1,1 nohead lw 2
plot NaN t''
“不起作用”是什么意思?您甚至不显示结果图。顺便问一下,你用第 3 列做什么?
您的第一个示例将仅使用您的数据绘制图表,然后绘制仅包含线段的新图表。
在你的第二个例子中,你的图中从 0,0
到 0,1
的线与 y 轴相同,因此只要 xrange 从 0
开始就很难看到。你可以很容易地检查这个,例如如果将颜色设置为红色或将线宽设置为 3 ,例如
plot $LS u 1:2 lc "red" lw 3
如果 set xrange[-0.2:]
,您还可以使线段“可见”。检查下面的例子
代码:
### plotting simple line segments
reset session
$DATA << EOD
0.1 0.2 1
0.3 0.4 2
0.5 0.6 3
0.7 0.5 4
EOD
$LS1 << EOL
0 0
0 1
EOL
$LS2 <<EOL
0 0
1 1
EOL
set xrange [-0.2:]
plot $DATA using 1:2:3 with points pt 7, \
$LS1 u 1:2 with lines, \
$LS2 u 1:2 with lines
### end of code
结果:
我正在尝试绘制一条从 (0,0) 到 (0,1) 的基本线段。我已经有一个输入文件,但我想在其中添加一行。
我已通读
我通常这样将数据输入到 GNUPlot 中:
$DATA << EOD
.... other data
EOD
$LS << EOL
0 0
0 1
EOL
plot $DATA using 1:2:3 with points
plot $LS with lines
但这行不通,
plot $LS using 1:2 with lines
如何绘制这条从 (0,0) 到 (0,1) 的简单线段?
您可以使用 headless arrows 绘制任意线段。
set xrange [0:1]
set yrange [0:1]
set arrow 1 from 0,0 to 0,1 nohead lw 3 lc 2
set arrow 2 from 0,0 to 1,1 nohead lw 2
plot NaN t''
“不起作用”是什么意思?您甚至不显示结果图。顺便问一下,你用第 3 列做什么?
您的第一个示例将仅使用您的数据绘制图表,然后绘制仅包含线段的新图表。
在你的第二个例子中,你的图中从 0,0
到 0,1
的线与 y 轴相同,因此只要 xrange 从 0
开始就很难看到。你可以很容易地检查这个,例如如果将颜色设置为红色或将线宽设置为 3 ,例如
plot $LS u 1:2 lc "red" lw 3
如果 set xrange[-0.2:]
,您还可以使线段“可见”。检查下面的例子
代码:
### plotting simple line segments
reset session
$DATA << EOD
0.1 0.2 1
0.3 0.4 2
0.5 0.6 3
0.7 0.5 4
EOD
$LS1 << EOL
0 0
0 1
EOL
$LS2 <<EOL
0 0
1 1
EOL
set xrange [-0.2:]
plot $DATA using 1:2:3 with points pt 7, \
$LS1 u 1:2 with lines, \
$LS2 u 1:2 with lines
### end of code
结果: