如何在 Seaborn 分布图中填充曲线下的面积?


若要在 Seaborn 分布图中填充曲线下的面积,我们可以使用 distplot()fill_between() 方法。

步骤

  • 设置图形大小并调整子图之间及周围的填充。
  • 创建数据点列表。
  • 绘制观察值的一元分布。
  • 若要填充曲线下的面积,请使用 fill_between() 方法。
  • 设置或检索自动调整边距,x=0 和 y=0。
  • 若要显示图形,请使用 show() 方法。

示例

import seaborn as sns
import scipy.stats as stats
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = [2.0, 7.5, 9.0, 8.5]
ax = sns.distplot(x, fit_kws={"color": "red"}, kde=False, fit=stats.gamma, hist=None, label="label 1")
l1 = ax.lines[0]

x1 = l1.get_xydata()[:, 0]
y1 = l1.get_xydata()[:, 1]

ax.fill_between(x1, y1, color="red", alpha=0.3)
ax.margins(x=0, y=0)

plt.show()

输出

更新于:2021-08-03

3K+ 浏览量

开启你的 职业生涯

完成课程获得认证

立即开始
广告