#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. Как это будет соотноситься с конкретным примером, который у меня есть?