如何从数据中绘制二维累积分布函数?

问题描述

我有一个二维数据集[[2010,2017,1937,...,],[1,1,3,....,]],我想从数据中绘制累积分布函数

现在我可以使用plt.hist2d()绘制PDF,但是如何绘制CDF?

谢谢!

解决方法

plt.hist2d返回一个直方图值矩阵,x和y方向上的bin边界以及一个网格对象。您可以将两个方向的直方图值相加并绘制它们。

np.histogram2d可以替换plt.hist2d,返回除网格对象之外的相同值。

import matplotlib.pyplot as plt
import numpy as np

N = 200
x = np.random.randint(1900,2020,N)
y = np.random.randint(1,10,N)
fig,(ax1,ax2) = plt.subplots(ncols=2,figsize=(12,4))
hist_vals,xbins,ybins,mesh = ax1.hist2d(x,y)
ax2.pcolormesh(xbins,hist_vals.cumsum(axis=0).cumsum(axis=1))
plt.show()

example plot

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...