gnuplot: first row of data skipped

2019-01-20 01:43发布

问题:

Am using gnuplot 5.0. with the following as pereamble to each script:

set terminal epslatex 8 color standalone colortext 

The issue is that gnuplot is skipping the first row. To my knowledge 4.6 version addressed a similar issue.

Any idea on the problem please?

Example of data file points.dat

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

The first line (4, 4) is skipped. So instead of four points, only three are displayed by gnuplot. Herewith the command am using

#!/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'  

On trick to bypass the issue is to duplicate the first row. Bu this is not practical.

回答1:

With set key autotitle columnheader gnuplot uses the entries in the first row as key entries, even though for the plot you have specified notitle.

To demonstrate this, consider the following script, using the four data points in points.dat, which you posted:

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

The result is

So, just remove the line set key autotitle columnhead from your script, and use plot ... title 'initial'. That gives you the expected result.



标签: gnuplot