#python #matplotlib
#питон #matplotlib
Вопрос:
В настоящее время я работаю над университетским биоинформатическим проектом. У меня есть график с осью, где значения должны быть выделены курсивом (Proteobacteria, Bacteroidata и т. Д. Должны Быть выделены курсивом), Но я не могу найти никакого решения, как изменить формат ТОЛЬКО для значений одной оси. Я обнаружил, что использование функции plt.rcParams.update() может помочь, но она изменяет весь график / график на курсивный формат, но, как я уже сказал, мне нужно изменить только одну ось.
Мой код:
color_map = ['#dfdfdf' for i in range(len(order_count))]
color_map[0] = '#e81518'
fig, ax = plt.subplots(1,1, figsize=(13,7))
ax.barh(phyl_count['Phylum'], phyl_count['Phyl_Perc'], linewidth=0.6, color = color_map)
plt.gca().invert_yaxis()
ax.grid(axis='x', alpha=0.4)
plt.xlabel('Percent')
plt.ylabel('Phylum')
for index,data in enumerate(phyl_count['Phyl_Perc']):
plt.text(x=data 0.1, y=index 0.20,s=f'{data}%')
plt.show()
И я получаю этот график, как я могу изменить Proteobacteria, Bacteriodata и т. Д. На курсив?
Ответ №1:
Вы можете получить список меток, написав
labels = ax.get_yticklabels()
Это дает вам список меток, где каждая метка является экземпляром текста Matplotlibs. У этого есть set_style
-метод, где одним из вариантов является установка текста 'italic'
, чтобы вы могли
for lbl in labels:
lbl.set_style('italic')