Python 从matplotlib中的直方图数据绘制线图

Python 从matplotlib中的直方图数据绘制线图,python,numpy,matplotlib,Python,Numpy,Matplotlib,我有一个表示时间段的整数的numpy数组,我目前正在用直方图绘制它,以获得一个很好的分布图,使用以下代码: ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r") 然而,我试图修改这个图表,用一条线而不是条线来表示完全相同的数据,这样我就可以将更多的样本叠加到同一个绘图上,并使它们清晰(否则条线会相互重叠)。到目前为止,我尝试将数据数组整理成包含(时间、计数)的元组数组,然后使用 ax.plot(data[:,0],data[:

我有一个表示时间段的整数的numpy数组,我目前正在用直方图绘制它,以获得一个很好的分布图,使用以下代码:

ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r")
然而,我试图修改这个图表,用一条线而不是条线来表示完全相同的数据,这样我就可以将更多的样本叠加到同一个绘图上,并使它们清晰(否则条线会相互重叠)。到目前为止,我尝试将数据数组整理成包含(时间、计数)的元组数组,然后使用

ax.plot(data[:,0],data[:,1],color="red",lw=2)

然而,这并没有给我任何接近,因为我不能准确地模拟我的绘图中直方图的箱子选项。有更好的方法吗?

尝试
ax.plot(zip(*data)[:][0],zip(*data)[:][1],color=“red”,lw=2)
您可以保存
历史的输出,然后进行打印

import numpy as np
import pylab as p

data=np.array(np.random.rand(1000))
y,binEdges=np.histogram(data,bins=100)
bincenters = 0.5*(binEdges[1:]+binEdges[:-1])
p.plot(bincenters,y,'-')
p.show()

我很晚才去参加聚会,但也许这对其他人有用。我认为您需要做的是将histtype参数设置为“步骤”,即

ax.hist(data,bins=100,range=(minimum,maximum),facecolor="r", histtype = 'step')

另请参见

Seaborn拥有我所需要的:

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt

sb.distplot(data, hist=False)
plt.show()

有没有办法把它当成酒吧,而不是一条线?我在计算不同人群的直方图,然后求平均值,所以我得到了平均数,并想从中构建一个直方图形状的条形图。当然。使用
p.bar(b中心,y,align='center')
。查看详细信息。这是一个很好的答案!2018年仍然有用。