现在,有许多刻度线是我不需要的,实际上并没有显示任何其他信息。 我正在使用的代码如下:
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是两个分别包含400个元素的numpy数组。
我回顾了一些使用locator_params和set_xticklabels的解决方案。但是,我想知道:
我希望我的问题很清楚。
谢谢。
答案 0 :(得分:1)
不太确定Sim的功能,如果它是浮点数组,则在绘制之前将它们转换为分类。由于标签无用,您可以做的是使用与y值一样长的值范围。
那样,它仍然有很多重叠,因为您试图在x轴上放置400个刻度,并且默认情况下将字体大小设置为可读性。例如:
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])