Seaborn Stripplot轴值具有正确的比例

Seaborn Stripplot轴值具有正确的比例,seaborn,Seaborn,我试图在seaborn中绘制一些数据,其中x值是百分比*100,作为浮点数(即90.909)。当我制作情节时: fig, ax = plt.subplots(figsize=(10,10)) ax = sns.stripplot(df_12['% ident'], df_12['length'], jitter=True) 浮点中的小数使X轴无法读取: 我想将x轴设置为仅显示5的整数倍数(即80、85、90、95、100) 我尝试过的一种方法如下: fmt = '{:0.0f}' xtick

我试图在seaborn中绘制一些数据,其中x值是百分比*100,作为浮点数(即90.909)。当我制作情节时:

fig, ax = plt.subplots(figsize=(10,10))
ax = sns.stripplot(df_12['% ident'], df_12['length'], jitter=True)
浮点中的小数使X轴无法读取:

我想将x轴设置为仅显示5的整数倍数(即80、85、90、95、100)

我尝试过的一种方法如下:

fmt = '{:0.0f}'
xticklabels = []
count = 0
for item in ax.get_xticklabels():
    count+= 1
    item.set_text(fmt.format(float(item.get_text())));
    xticklabels += [item];
ax.set_xticklabels(xticklabels);
这将成功地将轴值更改为整数,但轴看起来很忙。显示的数字在类似数据集之间也不一致

我想减少轴上显示的值的总数。我试着用

ax.xaxis.set_major_locator(plt.MaxNLocator(5))
或者类似地

ax.xaxis.set_major_locator(plt.MaxNLocator(5))
ax.set_xticklabels([80, 85, 90, 95, 100])
其输出与此类似:

如果将其与上一个打印进行比较,您将注意到x轴标签不再与打印的点相关。如何设置x轴的值,同时保持它们与打印的点相关

我尝试过的其他事情:

ax.set_xlim(75, 100)
这和任何变体都会导致空白绘图

ax.set(xticklabels=[75,80,85,90,95,100])
在轴标签与数据不匹配的情况下执行相同的操作

ax.set(xticks=range(75,101), xticklabels=[75,80,85,90,95,100])
结果所有数据点都卡在绘图的左侧,所有轴标签在右侧的单个记号上重叠

ax.xaxis.set_major_locator(ticker.MaxNLocator(integer=True))

这不会将轴值更改为整数,也会导致轴不再与数据关联。

stripplot
是一种分类图。你试图强迫你的类别服从数字法则,这是解决问题的错误方法。我想你更想画一个
scatter
plot?
ax.set(xticks=range(75,101), xticklabels=[75,80,85,90,95,100])