Seaborn показывает наложение меток x-tick - PullRequest
1 голос
/ 29 мая 2020

Я пытаюсь создать коробчатую диаграмму, которая выглядит так. enter image description here

Теперь есть много меток, которые мне не нужны и действительно не показывают никакой дополнительной информации. Я использую следующий код:

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 элементов каждый.

Я рассмотрел некоторые решения, в которых используются locator_params и set_xticklabels. Однако я хочу знать:

  • , почему это происходит, и
  • есть ли простое преобразование в массивах MSE и SIM для решения этой проблемы?

Надеюсь, мои вопросы достаточно ясны.

Заранее спасибо.

1 Ответ

1 голос
/ 30 мая 2020

Не очень уверен, что у вас есть как Sim, если это массив чисел с плавающей запятой, то они преобразуются в категориальные перед построением. Поскольку метки бесполезны, вы можете использовать диапазон значений такой же длины, как и значения y.

При этом он по-прежнему сильно перекрывается, потому что вы пытаетесь уместить 400 делений по оси 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)

enter image description here

Вы можете установить меньший размер шрифта, и они не перекрываются, но я думаю, это трудно читается:

enter image description here

Итак, как вы сказали в вашем случае, они бесполезны, вы можете сделать:

ax.set(xticks=Sim[0::10])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...