Python 绘制大量的;“行”;作为阴影或颜色强度

Python 绘制大量的;“行”;作为阴影或颜色强度,python,pandas,matplotlib,data-visualization,Python,Pandas,Matplotlib,Data Visualization,我有各种各样的熊猫数据帧,其中包含多达2000个时间序列。显然,一个简单的df.plot()并不能真正显示任何有用的内容(而且需要几分钟的绘图时间)。但至少我可以很容易地得到(并绘制)一个(滚动)平均值。简单的例子: ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000)) df = pd.DataFrame(np.random.randn(1000, 14), index=ts.in

我有各种各样的熊猫数据帧,其中包含多达2000个时间序列。显然,一个简单的
df.plot()
并不能真正显示任何有用的内容(而且需要几分钟的绘图时间)。但至少我可以很容易地得到(并绘制)一个(滚动)平均值。简单的例子:

ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
df = pd.DataFrame(np.random.randn(1000, 14), index=ts.index, columns=list('ABCDEFGHIJKLMN'))
mean_df = df.mean(1)
rolling_mean = mean_df.rolling(window = 60, center = True)
ax = df.plot(style=':')
rolling_mean.mean().plot(ax=ax)

通过这个小示例,您可能可以看到底层数据的“行为”:

它在零附近非常对称,大多数数据在+1和-1之间,相当多的数据在+1和+2之间,以及-1和-2之间,一些数据发生在2/3的括号中,一些异常值上升(或下降)到几乎+4

为什么容易掌握呢?显然,这是由于每个区域的线数,以及区域的强度或阴影。当我使用单色时变得更加清晰:

但是,这缺少密度或行数的量化。 我如何才能将其转化为定量信息?

也就是说,2-4括号应该有各种深浅的浅灰色,1-2中灰色,0-1深灰色,这样平均值就会被放在图中几乎黑色区域的顶部,这样我就可以得到50深浅的灰色,也许还有一个颜色条来引导

我可能会用各种深浅的灰色作为底色,看看设置不同的字母会产生什么样的视觉效果,但这似乎有点老套

另一种选择是执行类似于
max\u df=df.max(1)
min\u df=df.min(1)
的操作,然后使用matplotlib填充中间(
plt.fill\u between(df.index,min\u df,max\u df)
)并以某种方式在不同级别重复此操作(即偏离平均值的1、2和3个标准偏差)因此,我将以某种连续的方框图结束

但我想知道是否有更好的方法来做到这一点。


另外:我不确定如何最好地描述我想要/需要的内容,因此,如果您对该问题有任何疑问/意见,请发表意见,我将查看我可以编辑哪些内容以使自己更清楚。

另一种可视化密度数据的方法是使用内核密度估计:

df.plot.kde()
plt.xlim(-4,4)
plt.grid()
plt.show()

也许更像是一个问题。它们还包括数据可视化。这当然是一个有用的内置功能,但遗憾的是,这并不是我想要的,因为我不仅需要数据的总体分布,还需要每个任意时间点的分布。因此,即使我每月进行一次解析,这种方法也需要33个图作为示例,700个图作为实际数据,这让我回到了我的起点,也就是说,这个图相当混乱。