Python displot 图 ,如何算出X值,然后X值画条竖线与曲线围成的左半边的面积是占所有面积的96%?
【以下回答由 GPT 生成】
要实现计算出曲线图中96%概率的X值,并在该位置画出一条竖线,可以按照以下步骤进行操作:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
sns.displot(data=data_origin, x="Transit", col='Origin&P', kde=True)
total_area = np.trapz(sns.kdeplot(data_origin['Transit']).get_lines()[0].get_ydata(),
sns.kdeplot(data_origin['Transit']).get_lines()[0].get_xdata())
x_values = sns.kdeplot(data_origin['Transit']).get_lines()[0].get_xdata()
y_values = sns.kdeplot(data_origin['Transit']).get_lines()[0].get_ydata()
left_area = 0
x = None
for i in range(len(x_values)):
left_area += (y_values[i] + y_values[i-1]) / 2 * (x_values[i] - x_values[i-1])
if left_area >= 0.96 * total_area:
x = x_values[i]
break
if x is not None:
plt.axvline(x=x, color='r', linestyle='--')
plt.show()
这样就能够在displot图中计算出96%概率的X值,并在相应位置画出一条竖线了。如果有任何问题,请随时问我。