小编Chr*_*ood的帖子

百分位分布图

有没有人知道如何更改 X 轴比例和刻度以显示如下图所示的百分比分布?此图像来自 MATLAB,但我想使用 Python(通过 Matplotlib 或 Seaborn)生成。

有大量变化 >99% 的分布图

从@paulh 的指针来看,我现在更接近了。这段代码

import matplotlib
matplotlib.use('Agg')

import numpy as np
import matplotlib.pyplot as plt
import probscale
import seaborn as sns

clear_bkgd = {'axes.facecolor':'none', 'figure.facecolor':'none'}
sns.set(style='ticks', context='notebook', palette="muted", rc=clear_bkgd)

fig, ax = plt.subplots(figsize=(8, 4))

x = [30, 60, 80, 90, 95, 97, 98, 98.5, 98.9, 99.1, 99.2, 99.3, 99.4]
y = np.arange(0, 12.1, 1)

ax.set_xlim(40, 99.5)
ax.set_xscale('prob')

ax.plot(x, y)
sns.despine(fig=fig)
Run Code Online (Sandbox Code Playgroud)

生成以下图(注意重新分布的 X 轴)

具有非线性 x 轴的图形

我发现它比标准量表更有用:

具有法线 x 轴的图形

我联系了原始图表的作者,他们给了我一些建议。它实际上是一个对数刻度图,x 轴反转,值为 [100-val],手动标记 x 轴刻度。下面的代码使用与此处其他图形相同的示例数据重新创建原始图像。

import matplotlib
matplotlib.use('Agg')

import numpy …
Run Code Online (Sandbox Code Playgroud)

matplotlib seaborn

5
推荐指数
1
解决办法
6630
查看次数

标签 统计

matplotlib ×1

seaborn ×1