Seaborn Stripplot轴值具有正确的比例
我试图在seaborn中绘制一些数据,其中x值是百分比*100,作为浮点数(即90.909)。当我制作情节时: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
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])