python - 在每个 seaborn 子条形图上显示值
问题描述
我知道已经发布了类似的问题,但我无法修改我的代码:(
我有四个具有相同列名的数据集,我正在尝试添加 y_value,它是每个子图上的 average_referral_sent。有人可以帮忙吗?
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2,2, sharex=True, sharey=True,figsize=(10,10))
sns.barplot(x="split_test_group", y="average_referral_sent", hue='split_test_group',
palette=["C0", "C1", "C2"],data=with_in_a_week,ax=ax1)
sns.barplot(x="split_test_group", y="average_referral_sent", hue='split_test_group',
palette=["C0", "C1", "C2"],data=between_7_and_14_days,ax=ax2)
sns.barplot(x="split_test_group", y="average_referral_sent", hue='split_test_group',
palette=["C0", "C1", "C2"],data=between_14_and_21_days,ax=ax3)
sns.barplot(x="split_test_group", y="average_referral_sent", hue='split_test_group',
palette=["C0", "C1", "C2"],data=after_a_month,ax=ax4)
ax1.set(xlabel='Experiment Groups', ylabel='Average Number of Referrals Sent')
ax2.set(xlabel='Experiment Groups', ylabel='Average Number of Referrals Sent')
ax3.set(xlabel='Experiment Groups', ylabel='Average Number of Referrals Sent')
ax4.set(xlabel='Experiment Groups', ylabel='Average Number of Referrals Sent')
plt.show()
解决方案
获取 x 轴的位置,然后使用Axes.text
. 这是第一个情节,尝试为其他情节复制
xlocs = ax1.get_xticks()
for i in range(len(xlocs)):
y = with_in_a_week.iloc[i].average_referral_sent
# you might need to adjust the 0.2 to get the right position
ax1.text(xlocs[i], y + 0.2, str(y))
推荐阅读
- javascript - 动态渲染 HTML img 并放入 onerror
- quasar-framework - 如何以“类星体方式”居中输入
- python - 卡在 Python 目录中
- python - 搜索结果未显示
- android - 表格行内 TextView 的第二行不是真正的文本对齐,但第一行没问题
- java - 整数 n 作为 List 的第二个参数传递
.sublist(fromIndex, toIndex),但堆栈跟踪说 toIndex 在 Kotlin 中是 n + 2 - python - 使用请求库登录到 parscoders.com
- powershell - 使用invoke-restmethod的powershell POST数据问题
- javascript - node.js中的包和模块有什么区别
- javascript - 如何在使用 Puppeteer 评估页面响应之前使表单页面元素加载其内部文本?