可以使用step 绘制原始 CDF。您可以选择如何绘制步骤:pre 表示从x[i-1] 到x[i](默认)或post 从x[i] 到x[i+1] 绘制的线。
(当您谈到标记时,我假设您的意思是 y 轴上的刻度线和网格线,否则如果您的数据包含精确标记值的条目,例如 90 %,则不清楚将标记放置在哪里) .
import numpy as np
import matplotlib.pyplot as plt
a = np.array([[ 10.45, 925. ],
[ 20.56, 928. ],
[ 30.63, 948. ],
[ 50.1 , 955. ],
[ 80.62, 961. ],
[ 90. , 978. ],
[ 98.89, 1026. ]])
fig, (ax1, ax2) = plt.subplots(ncols=2)
ticks = [10, 50, 90, 99]
ticklabels = [f'{t} %' for t in ticks]
ax1.step(a[:,1], a[:,0], where='pre') # default
ax1.yaxis.set_ticks(ticks)
ax1.yaxis.set_ticklabels(ticklabels)
ax1.yaxis.grid(True)
ax1.set_ylim(0, 100)
ax1.set_title('pre')
ax2.step(a[:,1], a[:,0], where='post')
ax2.yaxis.set_ticks(ticks)
ax2.yaxis.set_ticklabels(ticklabels)
ax2.yaxis.grid(True)
ax2.set_ylim(0, 100)
ax2.set_title('post')