如何向 seaborn bar_label 添加字符串?
How do I add a string to seaborn bar_label?
我需要在 seaborn 条形图上方显示数据。这些数字代表美元,我想将值 25200
显示为 .2k
。
这是我目前用来显示下图的代码。
import seaborn as sns
import matplotlib.pyplot as plt
i = sns.barplot(ax = axes[1,0], x=lr_2021['decile'], y=np.round((lr_2021['NonCAT Severity']/1000),2), color = 'purple')
i.bar_label(axes[1,0].containers[0])
其中显示:
我尝试将以下内容添加到 bar_label
行:
i.bar_label(axes[1,0].containers["$",0, "K"])
然而,那个错误已经出来了。这可能吗?
如果只需要添加$
前缀和K
后缀,fmt
参数最简单:
i.bar_label(axes[1,0].containers[0], fmt='$%gK')
但在这种情况下,您还需要将这些值除以 1000。这对于 fmt
来说太复杂了,因此请通过 labels
参数:
bars = axes[1,0].containers[0]
i.bar_label(bars, labels=[f'${value/1000:.1f}K' for value in bars.datavalues])
我需要在 seaborn 条形图上方显示数据。这些数字代表美元,我想将值 25200
显示为 .2k
。
这是我目前用来显示下图的代码。
import seaborn as sns
import matplotlib.pyplot as plt
i = sns.barplot(ax = axes[1,0], x=lr_2021['decile'], y=np.round((lr_2021['NonCAT Severity']/1000),2), color = 'purple')
i.bar_label(axes[1,0].containers[0])
其中显示:
我尝试将以下内容添加到 bar_label
行:
i.bar_label(axes[1,0].containers["$",0, "K"])
然而,那个错误已经出来了。这可能吗?
如果只需要添加$
前缀和K
后缀,fmt
参数最简单:
i.bar_label(axes[1,0].containers[0], fmt='$%gK')
但在这种情况下,您还需要将这些值除以 1000。这对于 fmt
来说太复杂了,因此请通过 labels
参数:
bars = axes[1,0].containers[0]
i.bar_label(bars, labels=[f'${value/1000:.1f}K' for value in bars.datavalues])