13
votes

I would like to add a horizontal line in my histogram in gnuplot, is that possible?

My histogram has on the x axis: alea1 alea 2 alea3 nalea1 nalea 2 nalea 3 and the y axis goes from 0 to 25.

At 22, I want to add a horizontal line that goes all the way across from one end to the other end of the histogram.

2

2 Answers

15
votes

Try adding

, 22 title ""

at the end of your plot command. Works for my test data (file "histo"):

# Year  Red   Green  Blue
1990    33    45     18
1991    35    42     19
1992    34    44     14
1993    37    43     25
1994    47    15     30
1995    41    14     32
1996    42    20     35
1997    39    21     31

plot "histo" u 2 t "Red" w histograms, "" u 3 t "Green" w histograms, "" u 4 t "Blue" w histograms, 22 title ""

(taken from Philip K. Janert, Gnuplot in Action)

13
votes

The typical way to add horizontal and/or vertical lines is with an arrow

set arrow from x1,y1 to x2,y2 nohead linestyle ...

For a horizontal line, y1 and y2 will be the same. From your question, I'm a little unsure what you mean by "at 22", but I'm guessing you mean that you want to plot the line y=22 on top of your histogram. If that's the case, try this (before your plot command).

set arrow from graph 0,first 22 to graph 1,first 22 nohead lc rgb "#000000" front