如何从数据中绘制二维累积分布函数?
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()
我有一个二维数据集 [[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()