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

How to draw 2 dimensional cumulative distribution function from data?

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

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

谢谢!

plt.hist2d returns 直方图值矩阵、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, ybins, hist_vals.cumsum(axis=0).cumsum(axis=1))
plt.show()