【发布时间】:2019-05-28 09:57:40
【问题描述】:
假设我使用 seaborn 来绘制一个分布,它的中位数和标准差是这样的:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# Get data
data = np.random.randn(6000)
# Compute statistics
median = np.median(data)
sigma = np.std(data)
low = median - sigma
hi = median + sigma
# Plot
sns.distplot(data)
plt.axvline(median, c='r')
plt.axvline(low, c='k')
plt.axvline(hi, c='k')
我将如何“裁剪”或“剪裁”线条,使它们只出现在 distplot 的 kde 函数下方?结果应该是这样的(用 gimp 快速完成):
额外问题:我将如何对 plt.fill_between() 执行相同操作,以便仅填充曲线下方的区域?我想我在这里遗漏了一些简单的东西。我之前已经剪辑了对其他元素的 fill_between 调用,但我不知道如何获取函数的坐标以及如何使用线条来完成。
有没有一种简单而简洁的方法来做我想做的事?
【问题讨论】:
标签: python matplotlib seaborn