You need to specify the ylim because your height may be larger than your 
histogram and then you cannot see it.

Here is a script that reproduce your screenshot (with random data).


import numpy as np
import matplotlib.pyplot as plt

plt.rc('xtick', direction = 'out')
plt.rc('ytick', direction = 'out')

data = np.random.normal(0,1,100)

fig = plt.figure(figsize=(8,6), dpi=72, facecolor='w')
axes = plt.subplot(111)
axes.axvline(np.mean(data), 0, data.max(), linewidth=2, color='red')
axes.hist(data, bins=50, normed=True)
axes.set_ylim(0, 1)
axes.set_xlim(-3, 3)

axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('data', -0.05))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('data',-3.25))

plt.show()




Nicolas



On Mar 8, 2012, at 7:54 , Mic wrote:

> Hi Jerzy,
> Thank you for your answer. With the code below I get only a green line (see 
> attached line.png):
> 
> import numpy as np
> import matplotlib.pyplot as plt
> 
> hist_data = []
> 
> heigth = max(hist_data) + 10
> mean = np.mean(hist_data)
> 
> f = plt.figure()
> h = f.add_subplot(111)
> h.hist(hist_data, bins=50, normed=True)
> h.plot([mean,mean],[0,height])
> f.savefig('myhist.png')
> 
> without h.plot() I get a histogram (see attached matplot_hist.png).
> 
> How can I get the line and the histogram at the same time in the picture? 
> How is it possible to norm the vertical axis in order to get similar results 
> like in this picture (see attached hist.png)?
> 
> Thank you in advance.
> 
> On Wed, Mar 7, 2012 at 6:41 PM, Jerzy Karczmarczuk 
> <jerzy.karczmarc...@unicaen.fr> wrote:
> Mic:
>> Hello,
>> I am able to draw a histogram with the following code:
>> 
>> ...
>> h.hist(hist_data, bins=50, normed=True)
>> 
>> However, I don't know how to draw a line for median at 249 position like in 
>> attachment.
> Are your axes really matplotlib axes? (I have doubts, since the vertical is 
> not normed, although your histogram is).
> 
> In your real axes, the command plot([249,249],[0,height]) draws a vertical 
> line (there is a primitive vert. line as well), what is the problem??
> 
> Jerzy Karczmarczuk
> 
> 
> 
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 
> <line.png><matplot_hist.png><hist.png>------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing 
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/_______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users


------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to