постройте столбец фрейма данных, содержащий строки

#python #matplotlib

Вопрос:

У меня есть столбец в моем фрейме данных, который содержит одно из следующих значений: прямо/вверх/вниз/влево/вправо, и я хочу построить график, который позволит легко определить в каждом кадре направление взгляда. Что я пытался:

 plt.figure(figsize=(10, 10)) plt.plot(df_patient['gaze_direction']=='up', label='UP') plt.plot(df_patient['gaze_direction']=='down', label='DOWN') plt.plot(df_patient['gaze_direction']=='left', label='left') plt.plot(df_patient['gaze_direction']=='right', label='right') plt.plot(df_patient['gaze_direction']=='straight', label='straight')   # Change the number of columns here plt.legend(ncol=5)  plt.xlabel('Frame Number') plt.ylabel('Gaze Direction')   plt.show()  

Но график, который я получил, был не совсем ясен: введите описание изображения здесь

Как я могу построить такую информацию, чтобы она была более информативной и простой для анализа?

Я думал сделать «график импульсов» таким образом, чтобы прямая получала значение 0, например, вверх/вниз-0,5/-0,5..

 conditions = [ (df_patient["gaze_direction"] == 'up'), (df_patient["gaze_direction"] == 'down'), (df_patient["gaze_direction"] == 'left'), (df_patient["gaze_direction"] == 'right'), (df_patient["gaze_direction"] == 'straight') ]  # create a list of the values we want to assign for each condition values = [0.5, -0.5, 1, -1, 0]  # create a new column and use np.select to assign values to it using our lists as arguments df_patient['gaze_direction_plt_vals'] = np.select(conditions, values)  

и я строю его столбики (с plt.участок был очень плотным): введите описание изображения здесь

Есть ли лучший способ?