Как исправить x тиков при построении графиков с использованием pandas dataframe - PullRequest
0 голосов
/ 14 октября 2019

Мои столбцы данных - это сотрудник и X-папка. Это пример данных:

enter image description here

Для каждого уникального сотрудника я считаю количество каждой X-папки. В этом случае X-папки являются контактами, соломой, конференцией и т. Д. Я строю график с использованием: из коллекции импорта Счетчик

for e in employees:

        topics = df1.loc[df1.employee==e , "X-Folder"]

        letter_counts = Counter(topics)

        df2 = pd.DataFrame.from_dict(letter_counts, orient='index')
        ax = df2.plot( kind='bar',figsize=(10,10))

Работает просто отлично. Единственная проблема в том, что x-галочки не исправлены. Например, для первого сотрудника конференции, встречи, активный международный ноль. Таким образом, он не будет отображать их по оси X, а только контакты и соломку. Я хочу график, который показывает все метки.

Редактировать: я хочу, чтобы все темы отображались на оси x с нанесением только соответствующих значений счетчиков. Редактировать: Это то, что я сделал. Я сохранил все темы в списке и в словаре letter_counts просто присваиваю ему значение ноль. Он прекрасно работает для гистограммы: импортируйте matplotlib.pyplot как plt из коллекций. Импорт счетчика topic = df1 ["X-Folder"]. Unique ()

for e in employees:

        topics = df1.loc[df1.employee==e , "X-Folder"]

        letter_counts = Counter(topics)
        for t in topic:
            if str(t) not in letter_counts.keys():
                letter_counts[t] = 0

        df2 = pd.DataFrame.from_dict(letter_counts, orient='index')
        ax = df2.plot( kind='bar',figsize=(20,10))

Это вывод enter image description here

Но для графика области это не работает (печатает только 4 темы из 23 тем):

enter image description here

1 Ответ

0 голосов
/ 14 октября 2019

Попробуйте это, введя свои собственные значения для x, конечно.

С StackOverflow: изменение «частоты тиков» на оси x или y в matplotlib?

x = [1,10,20,30,40,50,60,70,80,90]
plt.xticks(np.arange(min(x), max(x)+1, 1.0))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...