I’m trying to plot the following
list_a_seq_of_p = [0, 1, 1, 1.5, 2.5, 3, 3, 3.5, 4.5, 5 ] plt.plot(list_a_seq_of_p) pyplot.hist( list_a_seq_of_p, range(11), histtype="step", cumulative=True, color=("r"), label=("A"), )
This one actually draws a different array([ 1., 4., 5., 8., 9., 10., 10., 10., 10., 10.], which is created run time automatically.
Advertisement
Answer
I assume you mean the red histogram appears to be wrong? It’s not. You’ve got cumulative=True
so it adds each value to make a “running total”.
If you wanted both to line up, provide the same y-axis for both and set cumulative
to False
(or remove it since False
is the default).
import matplotlib.pyplot as plt list_a_seq_of_p = [0, 1, 1, 1.5, 2.5, 3, 3, 3.5, 4.5, 5 ] plt.plot(list_a_seq_of_p, range(len(list_a_seq_of_p))) plt.hist( list_a_seq_of_p, len(list_a_seq_of_p), histtype="step", cumulative=False, color=("r"), label=("A"), )
Btw, the 2nd parameter to plt.hist()
is the bins
. So which bins are you expecting? len(list_a_seq_of_p)
above is not a sensible value for bins.
Also, be consistent with your import names. First you use plt.plot()
and next line is pyplot.hist()
.