python直方图(频数密度)-深入浅出统计学

最近再看《深入浅出统计学》,想把里面的例子都用python画出来,才看几页就遇到问题了 - -
例子如下图:
image.png
画出上面的直方图,错误的表示如下图:
image.png
这个画出来了,实现代码如下:

data_rand1 = np.concatenate([np.random.randint(1,10,4300)/10,
                             np.random.randint(11,30,6900)/10,
                             np.random.randint(31,50,4900)/10,
                             np.random.randint(51,100,2000)/10,
                             np.random.randint(101,240,2100)/10
                             ])
bins1 = [0,1,3,5,10,24]
plt.hist(data_rand1,bins=bins1,histtype='bar',rwidth=10,edgecolor="black")

上面这个图不符合数据分析直方图的原则,频数与长方形面积成比例,明显时间跨度大的区间面积大了
所以书上对于这种跨度不一样的,需要求出频数密度在进度绘制,如下图:
image.png
image.png
频数密度,知道怎么算,代码也实现了,但算出来了,数据不知道咋画直方图了,直方图需要的是连续的数据值,而我这边算出来的是连续值的统计值。

bins1_with = [bins1[x] - bins1[x-1] for x in range(1,len(bins1))]
data8 = data7 / bins1_with

image.png
求大神指导同样的数据怎么画出上面第二个直方图那样。最后不知道表达的清楚不