【发布时间】:2022-01-19 23:19:18
【问题描述】:
尝试将平均值添加到图中的每个类别。我一直在尝试按类别独立添加这些平均值,但没有成功。有没有一种方法可以让 catplot 平均数据集中的值并用不同的颜色绘制额外的值?我的目标是将平均值与单个值相加并加以区分,以便直观地识别。
plt.rcParams["figure.figsize"] = [5.50, 5.50]
plt.rcParams["figure.autolayout"] = True
ax = sns.catplot(x="Sample Set", y="Values [%]", data=df)
ax.set_xticklabels(rotation=90)
ax.despine(right=True, top=True)
sp = 100
delta = 5
plt.axhline(y=sp, color='gray', linestyle='--', label='Target')
plt.axhline(y=sp*((100+(delta*2))/100), color='r', linestyle='--', label='10%')
plt.axhline(y=sp*((100-(delta*2))/100), color='r', linestyle='--')
plt.ylim(80, 120)
plt.title('Sample Location[enter image description here][1]', fontsize = 14, y=1.05)
plt.legend(frameon=False, loc ="lower right")
plt.savefig(outputFileName, dpi=300, bbox_inches = 'tight')
plt.show()
plt.draw()
【问题讨论】:
-
您可以创建一个排除平均值的
catplot,然后叠加平均值 -
@DerekO 喜欢这个想法,在实施您的建议后,我现在唯一的限制是添加一个说明虚线、单个值和平均值的图例。任何帮助将不胜感激。
-
我没有足够的时间认真尝试解决方案,所以我将我的想法作为评论留下,希望能帮助您或其他人开始解决方案。当我有更多时间时,我很乐意重新审视您的问题,看看我是否可以提供进一步的帮助
-
@DerekO,谢谢!
标签: python matplotlib seaborn catplot