Подтвердить что ты не робот

Как построить несколько гистограмм на одном и том же участке с морским коньком

С matplotlib я могу сделать гистограмму с двумя наборами данных на одном графике (один рядом с другим, а не наложением).

import matplotlib.pyplot as plt
import random

x = [random.randrange(100) for i in range(100)]
y = [random.randrange(100) for i in range(100)]
plt.hist([x, y])
plt.show()

Это дает следующий график.

enter image description here

Однако, когда я пытаюсь сделать это с помощью морского дна;

import seaborn as sns
sns.distplot([x, y])

Я получаю следующую ошибку:

ValueError: color kwarg must have one color per dataset

Итак, я пытаюсь добавить некоторые значения цвета:

sns.distplot([x, y], color=['r', 'b'])

И я получаю ту же ошибку. Я видел это сообщение о том, как накладывать графики, но я бы хотел, чтобы эти гистограммы были рядом, а не накладывались.

И, глядя на документы, он не указывает, как включить список списков в качестве первого аргумента "a".

Как я могу достичь этого стиля гистограммы с помощью морского дна?

4b9b3361

Ответ 1

Если я правильно вас понимаю, вы можете попробовать что-то подобное:

fig, ax = plt.subplots()
for a in [x, y]:
    sns.distplot(a, bins=range(1, 110, 10), ax=ax, kde=False)
ax.set_xlim([0, 100])

Что должно дать такой сюжет:

enter image description here

ОБНОВЛЕНИЕ:

Похоже, что вам нужен "морской взгляд", а не функциональность графического дизайна. Для этого вам нужно только:

import seaborn as sns
plt.hist([x, y], color=['r','b'], alpha=0.5)

Что будет производить:

enter image description here