После это Я знаю, что могу извлечь метки и позиции xticks, используя:
import matplotlib.pyplot as plt
plt.scatter(x_data, y_data)
locs, labels=plt.xticks()
новая переменная labels
это matplotlib.cbook.silent_list
, которая не ведет себякак обычный список.Есть ли способ получить доступ и изменить какое-либо значение атрибута элементов labels
?
В частности, я хотел бы знать, могу ли я выбрать подмножество меток (то есть нарезать silent_list) и изменить определенный атрибут для этого подмножества.
Вот игрушечный пример:
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5,6,7,8])
y=np.random.normal(0, 1, (8, 1))
plt.scatter(x, y)
locs, labels=plt.xticks()
В качестве примера, скажем, я хочу изменить цвет меток на красный для всех, кроме первого и последнего элемента labels
;если я открою один из элементов переменной, я вижу, что есть атрибут _color
со значением k
, который я хотел бы изменить в r
:

Я попытался нарезать его:
labels[1:-1]
Но он возвращает:
Out[]: [Text(2,0,'2'), Text(4,0,'4'), Text(6,0,'6'), Text(8,0,'8')]
и это так далеко, как мне удалось пройти.
Я не мог найти способ доступа к атрибуту и изменить его значение.
NB : я ищу общий способ доступа к этим атрибутам и изменения значения, я делаюне заботиться об изменении цвета меток специально.Это всего лишь пример.