Как преобразовать числовое значение в строки в графическом окне

#python #matplotlib #seaborn

#python #matplotlib #сиборн

Вопрос:

Я хочу построить диаграмму следующего набора данных :

 A = [150, 112, 108, 70]
B = [260, 90, 165, 100]
C = [160, 50, 90, 60]
D = [110, 20, 35, 70]
E = [105, 450, 45, 200]
  

Один из способов, которым я могу это сделать, — использовать следующий код:

 import matplotlib.pyplot as plt 
import matplotlib.font_manager as font_manager
font_prop = font_manager.FontProperties( size=18)

Positions = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5]
Heat = [150, 112, 108, 70, 260, 90, 165, 100, 160, 50, 90, 60, 110, 20, 35, 70, 105, 450, 45, 200]

groups = [[] for i in range(max(Positions))]
[groups[Positions[i]-1].append(Heat[i]) for i in range(len(Heat))];

b = plt.boxplot(groups, patch_artist=False);
plt.rcParams.update({'font.size': 16})
plt.rc ('xtick', labelsize=16)
plt.rc ('ytick', labelsize=18)

for median in b['medians']:
    median.set(color = 'r', linewidth = 2)
  

Я могу получить следующий график, но я хочу, чтобы числа 1 … 5 были заменены на A … E? Есть ли альтернативный способ, которым я могу это сделать?

введите описание изображения здесь

Ответ №1:

Чтобы преобразовать символ в целое число, используйте

 ord(char)
  

Чтобы преобразовать целое число в символ, используйте

 chr(int)
  

Пример:

 int_array = list(range(5))
char_array = [chr(x   ord('A')) for x in int_array]
# char_array = ['A', 'B', 'C', 'D', 'E']
  

Комментарии:

1. Как это будет соотноситься с конкретным примером, который у меня есть?