gnuplot’s style of steps does not allow variable color

If you are drawing with steps, the question probably is: which color should the vertical lines have? Quickly checking the documentation I couldn’t find a hint whether variable line color together with steps explicitely works or explicitely doesn’t work.

In any case, you can workaround with the following code:

Code:

### plotting with steps and variable line color
reset session

$Data <<EOD
1     0.5   0.1
2     0.75  0.2
3     0.99  0.5
4     1.25  1.1
EOD

set xrange [0:5]
set yrange [0:1.5]

plot x1=y1=NaN $Data u (x0=x1,x1=$1,x0):(y0=y1,y1=$2,y0):(x1-x0):(0):3 w vectors lw 2 lc palette nohead notitle, \
     x1=y1=NaN $Data u (x0=x1,x1=$1,x1):(y0=y1,y1=$2,y0):(0):(y1-y0):3 w vectors lw 2 lc palette nohead notitle
### end of code

Result:

enter image description here

Addition: (vertical lines with variable colors)

Maybe you noticed that with your 4 datapoints there are only 3 colors. This is obvious, because if you have 4 data points you will only have 3 connecting lines, hence 3 colors.

A variation would be the following: Draw your 4 points with the color according to the value column 3 and the same color for the horizontal lines. However, for the vertical lines you split the lines into as many levels you want (here: myLevels = 20) using the color according to the palette.

Code:

### plotting with steps and variable line color (vertical lines with variable color)
reset session

$Data <<EOD
1     0.5   0.1
2     0.75  0.2
3     0.99  0.5
4     1.25  1.1
EOD

set xrange [0:5]
set yrange [0:1.5]

myLevels = 20
plot x1=y1=c1=NaN $Data u (x0=x1,x1=$1,x0):(y0=y1,y1=$2,y0):(x1-x0):(0):(c0=c1,c1=$3,c0) w vectors lw 2 lc palette nohead notitle, \
     for [i=0:myLevels-1] x1=y1=NaN $Data u (x0=x1,x1=$1,x1):(y0=y1,y1=$2,y0+(y1-y0)*i/myLevels):(0):((y1-y0)/myLevels):(c0=c1,c1=$3,c0+(c1-c0)*i/myLevels) w vectors lw 2 lc palette nohead notitle, \
     $Data u 1:2:3 w p pt 7 ps 2 lc palette notitle
### end of code

Result:

enter image description here

CLICK HERE to find out more related problems solutions.

Leave a Comment

Your email address will not be published.

Scroll to Top