Простой столбец колонны означает использование морского волка - PullRequest
0 голосов
/ 14 мая 2018

У меня есть пандас с 26 столбцами числовых данных.Я хочу представить среднее значение каждого столбца на графике с 26 барами.Это легко сделать с помощью функции построения панд: df.plot(kind = 'bar').Однако результаты выглядят ужасно, и метки столбцов часто обрезаются, например:

Truncated labels plot from pandas

Я бы хотел сделать это с Seaborn, но могуКажется, я не могу найти способ, как бы я ни выглядел.Конечно, есть простой способ сделать простую диаграмму средних столбцов?Спасибо.

Ответы [ 4 ]

0 голосов
/ 25 января 2019

df = pd.DataFrame ({'x': [0, 1], 'y': [2, 3]})

sns.barplot (x = df.mean (). Index, y = df.mean ())

plt.show ()

0 голосов
/ 14 мая 2018

Вы можете попробовать что-то вроде этого:

import matplotlib.pyplot as plt
import seaborn as sns
sns.set()
fig = df.mean().plot(kind='bar')
plt.margins(0.02)
plt.ylabel('Your y-label')
plt.xlabel('Your x-label')
fig.set_xticklabels(df.columns, rotation = 45, ha="right")
plt.show()

enter image description here

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

Если кто-то найдет это с помощью поиска, самое простое решение, которое я нашел (я OP) - использовать функцию pandas.melt().Это объединяет все столбцы в один столбец, но добавляет второй столбец, который сохраняет заголовок столбца рядом с каждым значением.Этот кадр данных может быть передан непосредственно в Seaborn.

0 голосов
/ 14 мая 2018

Вы можете использовать sns.barplot - особенно для горизонтальных столбцов больше подходит для стольких категорий - как это:

import seaborn as sns

df = pd.DataFrame({'x': [0, 1], 'y': [2, 3]})
unstacked = df.unstack().to_frame()
sns.barplot(
    y=unstacked.index.get_level_values(0),
    x=unstacked[0]);

enter image description here

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