Переменный интервал дискретных категорий в морском районе Swarmplot - PullRequest
0 голосов
/ 12 июня 2018

Есть ли способ использовать неравномерный интервал на дискретной оси в Swarmplots Seaborn?

Вот пример:

import pandas as pd
import numpy as np
import seaborn as sns
data = pd.DataFrame({
    "x":np.concatenate([np.repeat("A",450), np.repeat("B",5), np.repeat("C",5), np.repeat("D",450)]),
    "y":np.random.randn(910)})
sns.swarmplot(x="x",y="y",data=data)

Swarmplot with two over-wide categories and two infrequent categories

В этом примере категории A и D переполняют график.Я мог бы уменьшить размер очков, но тогда стало трудно увидеть средние категории.Лучшим вариантом было бы установить расстояние между осями так, чтобы у частых категорий было больше места, чем у редких категорий:

(Макет) enter image description here

Есть ли какие-либоспособ сделать это с Seaborn (или лежащие в основе оси Matplotlib)?

1 Ответ

0 голосов
/ 12 июня 2018

Вы можете вручную создать большую фигуру для построения графика.Например,

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
data = pd.DataFrame({
    "x":np.concatenate([np.repeat("A",450), np.repeat("B",5), np.repeat("C",5), np.repeat("D",450)]),
    "y":np.random.randn(910)})
plt.figure(figsize=(16,8))
sns.swarmplot(x="x",y="y",data=data)
plt.show()

enter image description here

Просто поиграйте с коэффициентами figsize, пока не получите ожидаемый результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...