2024-05-12 20:00:35 发布
网友
如何用中值标记seaborn图中的每个箱线图?
例如
import seaborn as sns sns.set_style("whitegrid") tips = sns.load_dataset("tips") ax = sns.boxplot(x="day", y="total_bill", data=tips)
如何用中值或平均值标记每个方框图?
这也可以通过从图本身导出中值而不必专门从数据中计算中值来实现
box_plot = sns.boxplot(x="day", y="total_bill", data=tips) ax = box_plot.axes lines = ax.get_lines() categories = ax.get_xticks() for cat in categories: # every 4th line at the interval of 6 is median line # 0 -> p25 1 -> p75 2 -> lower whisker 3 -> upper whisker 4 -> p50 5 -> upper extreme value y = round(lines[4+cat*6].get_ydata()[0],1) ax.text( cat, y, f'{y}', ha='center', va='center', fontweight='bold', size=10, color='white', bbox=dict(facecolor='#445A64')) box_plot.figure.tight_layout()
我喜欢当人们包括样本数据集!
import seaborn as sns sns.set_style("whitegrid") tips = sns.load_dataset("tips") box_plot = sns.boxplot(x="day",y="total_bill",data=tips) medians = tips.groupby(['day'])['total_bill'].median() vertical_offset = tips['total_bill'].median() * 0.05 # offset from median for display for xtick in box_plot.get_xticks(): box_plot.text(xtick,medians[xtick] + vertical_offset,medians[xtick], horizontalalignment='center',size='x-small',color='w',weight='semibold')
这也可以通过从图本身导出中值而不必专门从数据中计算中值来实现
我喜欢当人们包括样本数据集!
相关问题 更多 >
编程相关推荐