13

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.

Alexis Pigeon
  • 7,423
  • 11
  • 39
  • 44

2 Answers2

16

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)

vaettchen
  • 7,299
  • 22
  • 41
13

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
mgilson
  • 300,191
  • 65
  • 633
  • 696
  • 1
    Thanks both of you. I have done it with the arrow. Is it possible to add a line and words for me to say what the line at y=22 means in my histogram, like a legend? – Audrey Lee-Gosselin Nov 21 '12 at 20:39
  • 2
    @AudreyLee-Gosselin -- sure. just do `set label "some text" at ...,...`. however, you could also do that with the other answer: `plot , 22 w lines title "some text"` to actually put it in the plot key. – mgilson Nov 21 '12 at 20:43