gnuplot:跳过第一行数据

标签 gnuplot

我正在使用 gnuplot 5.0。每个脚本的简介如下:

set terminal epslatex 8 color standalone colortext 

问题是 gnuplot 正在跳过第一行。据我所知,4.6 版本解决了类似的问题。

对这个问题有什么想法吗?

数据文件points.dat示例

4 4
4 -4
-4 4
-4 -4

第一行 (4, 4) 被跳过。因此,gnuplot 只显示三个点,而不是四个点。此命令正在使用

#!/bin/bash


set terminal epslatex 8 color standalone colortext 
set output outputFileName

set size .55,.55
set pointsize 3.0


##############
# Line styles
##############

set linestyle 1 lt 5 lw 1 #
set linestyle 2 lt 2 lw 1.5 
set linestyle 3 lt 6 lw 1 #
set linestyle 4 lt 3 lw 1 
set linestyle 5 lt 2 lw 2 #
set linestyle 6 lt 1 lw 2


##################
# Titles
##################
set title 'Image'
set xlabel '$x$' offset 0,0.5
set ylabel '$y$' offset 2,0


set macros
filename_init = sprintf("%s/image_init.dat",dataFileDirectory)


set key autotitle columnhead
set key horiz


set multiplot
plot
     filename_init  u 1:2 with points lt 0 pt 1 lw 5 lc rgb "magenta" notitle 'initial'  

绕过该问题的技巧是复制第一行。但这不切实际。

最佳答案

使用set key autotitle columnheader,gnuplot 使用第一行中的条目作为关键条目,即使对于您已指定notitle 的绘图。

为了演示这一点,请考虑以下脚本,使用您发布的 points.dat 中的四个数据点:

set terminal pngcairo
set output 'foobar.png'

set offsets 1,1,1,1
set key autotitle columnhead

filename_init = 'points.dat'

set multiplot layout 1,2
plot filename_init u 1:2 with points lt 0 pt 1 lw 5 lc rgb "magenta"

set key noautotitle
plot filename_init u 1:2 with points lt 0 pt 1 lw 5 lc rgb "magenta" title 'initial'
unset multiplot

结果是

enter image description here

因此,只需从脚本中删除 set key autotitle columnhead 行,然后使用 plot ... title 'initial' 即可。这会给你预期的结果。

关于gnuplot:跳过第一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28346228/

相关文章:

formatting - gnuplot - 格式化绘图的标题(字母上方的条形)

plot - 如何在大型数组数据文件 gnuplot 中找到最大条目?

graph - gnuplot 对多个条形图进行分组

Gnuplot 烛台和箱宽

matrix - 使用 GNUPlot 绘制相关矩阵

python - 如何在 Python 中绘制元组列表?

python - grid.py 无法获取数据集的比率

gnuplot - gnuplot 中同一个图上有多个拟合线?

gnuplot - 根据多个数据 block 的列值改变点颜色 gnuplot

gnuplot - 使用条件绘制直方图