Как изменить порядок категориальных значений на оси Y графика - PullRequest
0 голосов
/ 06 мая 2019

Я просто хотел изменить порядок категориальных значений на оси Y на этом графике:

Current plot

Я хочу следующий заказ:

yax = ['empty',
       '1 to 2 range',
       '3 to 5 range',
       '6+ range',
       '1 person',
       '2 people',
       '3 people',
       '4 people',
       '5 people',
       '6 people',
       '7 people',
       '8 people',
       '9 people',
       '10 people']

Мой код:

plt.figure(figsize=(11,6))
plt.plot(df.index.time, df['status'], marker='.', lw=0, ms=10, color = 'darkgreen')
plt.xlim(["00:00:00", "23:59:59"])
plt.show()

1 Ответ

1 голос
/ 06 мая 2019

Я бы предложил добавить категориальный столбец, а затем отсортировать по этому столбцу, например ::

import matplotlib.pyplot as plt
import pandas as pd

df=pd.DataFrame({'x':[0,1,2],'a':['high','low','middle']})

df['cat'] = pd.Categorical(df['a'], ['low', 'middle', 'high'])

df=df.sort_values(by='cat') ## try with and without this line

plt.figure(figsize=(11,6))
plt.plot(df['x'], df['a'].values, marker='.', lw=0, ms=10, color = 'darkgreen')

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