#python #matplotlib
#python #matplotlib
Вопрос:
У меня есть гистограмма для категориальных данных; которая содержит 173 различные категории. Я хочу уместить все данные в одну фигуру. Код выглядит следующим образом:
series = self.mainDataFrame[cat_col].value_counts()
columns = series.index.to_list()
values = series.values
y_pos = np.arange(len(columns))
plt.bar(y_pos, values, align='center', alpha=0.5)
plt.xticks(y_pos, columns, fontsize='xx-small')
plt.ylabel('Frequency')
plt.title("Categorical Column:{0}".format(cat_col))
Это результат, который я получаю:
В основном я хочу две вещи; Я хочу, чтобы метки по оси x были удобочитаемыми (каждая из них состоит из трех буквенных слов), а столбцы не были настолько загромождены, чтобы некоторые из них отображались как склеенные вместе. Я попытался увеличить ширину фигуры, сохранив ширину полосы одинаковой, но мне это не удалось. Что касается размера шрифта метки, то это то, что я получаю даже с plt.xticks(y_pos, columns, fontsize='xx-small')
. Как я могу сделать этот рисунок более читаемым?
Комментарии:
1. можете поворачивать метки галочек, смотрите здесь
2. На самом деле, я тоже пробовал это, но метки все еще перекрываются.
3. сколько у вас батончиков ? можете ли вы предоставить некоторые данные об игрушках ?
4. Возможно, вы можете исключить половину оси x с помощью
plt.xlim
. Их частота, по-видимому, отсутствует.5. у вас должны быть все метки на осях? или вы можете игнорировать некоторые?