Это Seaborn Do c о том, как создать горизонтальную коробчатую диаграмму. Вы заметите, что они используют некоторый набор данных, называемый сбоями, и строят график некоторой категориальной переменной в сравнении с некоторой числовой c переменной. Чтобы сделать его горизонтальным, они просто переворачивают переменные x и y, что достаточно легко.
Моя проблема в том, что мои категории - это numeri c, что вызывает проблемы. Минимальный воспроизводимый пример использует их набор данных. По сути, это должен быть один и тот же график, один по горизонтали, а другой по вертикали. Как видите, они оба вертикальные ...
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="whitegrid")
crashes = sns.load_dataset("car_crashes").sort_values("total", ascending=False)
crashes['roundTotal'] = np.round(crashes['total']).astype(int)
crashesMod = crashes.groupby(['roundTotal']).count().reset_index()
crashesMod['VsAverage'] = crashesMod['total'] > crashesMod.total.mean()
sns.barplot(x = 'roundTotal', y = 'total', hue = 'VsAverage', data = crashesMod)
plt.show()
sns.barplot(y = 'roundTotal', x = 'total', hue = 'VsAverage', data = crashesMod)
введите описание изображения здесь
Я попытался создать столбец roundTotal из строки типа, так как я представлял, что он делает некоторые предположения под капотом и терпит неудачу с двумя типами numeri c, но затем я столкнулся с TypeError: unsupported operand type(s) for /: 'str' and 'int'