如何在Seaborn Objects中显示0-9的全部X轴刻度标签
解决Seaborn Objects X轴刻度不全问题
要让X轴显示0到9的全部刻度,别在.label()里折腾了,直接用.scale()指定刻度断点就行。修改后的完整代码如下:
( so.Plot(x='bin', y='diff', data=diff_df) .theme({**axes_style("whitegrid"), "grid.linestyle": ":"}) .add(so.Dots()) .add(so.Range(color='orange'), so.Est()) .add(so.Dot(color='orange'), so.Agg()) .add(so.Line(color='orange'), so.Agg()) .label( x="Image Similarity Bin", y="Difference", color=str.capitalize, ) .scale(x=so.Continuous(breaks=range(10))) # 关键:指定0-9所有刻度 )
为啥这么改:
.label()只负责设置轴的名称,管不了刻度显示,之前用它设xticks没用很正常。so.Continuous(breaks=range(10))会强制X轴把0到9的每个整数都当成刻度点,直接解决间隔显示的问题。- 如果你的
bin列是分类类型,也可以换用so.Categorical()来显示所有类别,但这里bin是数值型,用Continuous更适配。
内容的提问来源于stack exchange,提问作者guckmalmensch
相关产品推荐
相关产品推荐

