Python Seaborn显示x-tick标签重叠
我想画一个像这样的方框图。 现在,有很多我不需要的记号,并且没有显示任何附加信息。 我使用的代码如下所示:Python Seaborn显示x-tick标签重叠,python,seaborn,boxplot,Python,Seaborn,Boxplot,我想画一个像这样的方框图。 现在,有很多我不需要的记号,并且没有显示任何附加信息。 我使用的代码如下所示: plot=sns.boxplot(y=MSE, x=Sim, width=0.5, palette='colorblind') plot=sns.stripplot(y=MSE, x=Sim, jitter=True, marker='
plot=sns.boxplot(y=MSE, x=Sim,
width=0.5,
palette='colorblind')
plot=sns.stripplot(y=MSE, x=Sim,
jitter=True,
marker='o',
alpha=0.15,
color='black')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
plt.gca().invert_xaxis()
其中,MSE和SIM是两个numpy阵列,每个阵列包含400个元素
我回顾了一些使用定位器参数和设置标签的解决方案。然而,我想知道:
- 为什么会发生这种情况
- MSE和SIM阵列中是否有简单的转换来解决此问题
提前感谢。不太确定您作为Sim卡拥有什么,如果它是一个浮点数数组,则在打印之前将其转换为分类。由于标签没有用处,所以您可以使用与y值一样长的值范围 这样,它仍然有很多重叠,因为您正试图将400个x记号放在x轴上,并且默认情况下字体大小设置为可读的。例如:
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt
fig,ax = plt.subplots(figsize=(15,6))
MSE = [np.random.normal(0,1,10) for i in range(100)]
Sim = np.arange(len(MSE))
g = sns.boxplot(y=MSE, x=Sim, width=0.5,palette='colorblind',ax=ax)
您可以将字体大小设置为更小,并且它们不会重叠,但我猜它几乎不可读:
因此,正如您在案例中所说,它们没有用处,您可以:
ax.set(xticks=Sim[0::10])
令人惊讶的是,这就是为什么如果它是一个浮动数组,那么它们将转换为绝对的谢谢!是否有更好的方法来绘制浮点数组,使其不转换为分类变量?x轴转换为分类变量。。但不是y值。。所以你用一个数字数组来绘图,就像我上面做的那样?希望我没有误解你