seaborn 地块中的垂直线是什么
What are the vertical lines in seaborn plots
Seaborn 中的这些垂直线是什么?
当我在文档中查找时,它似乎是一个置信区间。
仅仅通过观察,很难确定这些边缘在 y 轴上的确切位置。
问题:有没有办法显示那些垂直线(红色圆圈中)的值?
添加 capsize=...
会给置信区间增加一点上限。
您可以遍历生成的垂直线并根据它们的坐标添加一些文本。
from matplotlib import pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.set_style('whitegrid')
ax = sns.barplot(x='day', y='tip', hue='smoker', palette='autumn', data=tips, capsize=.2)
sns.despine()
for line in ax.lines:
xs, ys = line.get_data()
if xs[0] == xs[1]: # vertical line
ax.text(xs[0], ys[0], f'\n\n{ys[0]:.1f}', ha='center', va='center', color='blue', size=14)
ax.text(xs[1], ys[1], f'{ys[1]:.1f}\n\n', ha='center', va='center', color='blue', size=14)
plt.tight_layout()
plt.show()
Seaborn 中的这些垂直线是什么?
当我在文档中查找时,它似乎是一个置信区间。
仅仅通过观察,很难确定这些边缘在 y 轴上的确切位置。
问题:有没有办法显示那些垂直线(红色圆圈中)的值?
添加 capsize=...
会给置信区间增加一点上限。
您可以遍历生成的垂直线并根据它们的坐标添加一些文本。
from matplotlib import pyplot as plt
import seaborn as sns
tips = sns.load_dataset('tips')
plt.figure(figsize=(10, 5))
sns.set_style('whitegrid')
ax = sns.barplot(x='day', y='tip', hue='smoker', palette='autumn', data=tips, capsize=.2)
sns.despine()
for line in ax.lines:
xs, ys = line.get_data()
if xs[0] == xs[1]: # vertical line
ax.text(xs[0], ys[0], f'\n\n{ys[0]:.1f}', ha='center', va='center', color='blue', size=14)
ax.text(xs[1], ys[1], f'{ys[1]:.1f}\n\n', ha='center', va='center', color='blue', size=14)
plt.tight_layout()
plt.show()