Есть ли способ изменить цвет оси (не тиков) в matplotlib? Я просматривал документы для Axes, Axis и Artist, но не повезло; в галерее matplotlib также нет намека. Любая идея?Matplotlib: Изменение цвета оси
33
A
ответ
61
При использовании цифры, вы можете легко изменить цвет позвоночника с:
ax.spines['bottom'].set_color('#dddddd')
ax.spines['top'].set_color('#dddddd')
ax.spines['right'].set_color('red')
ax.spines['left'].set_color('red')
Используйте следующее изменить только тики:
ax.tick_params(axis='x', colors='red')
ax.tick_params(axis='y', colors='red')
И следующее, чтобы изменить только ярлык:
ax.yaxis.label.set_color('red')
ax.xaxis.label.set_color('red')
И, наконец, название:
ax.title.set_color('red')
16
Для записи, это то, как мне удалось заставить его работать:
fig = pylab.figure()
ax = fig.add_subplot(1, 1, 1)
for child in ax.get_children():
if isinstance(child, matplotlib.spines.Spine):
child.set_color('#dddddd')
7
Вы можете сделать это путем настройки параметров РЦ по умолчанию.
import matplotlib
from matplotlib import pyplot as plt
matplotlib.rc('axes',edgecolor='r')
plt.plot([0, 1], [0, 1])
plt.savefig('test.png')
+0
Matplotlib также имеет [контекстный менеджер] (http://matplotlib.org/users/style_sheets.html#temporary-styling), который позволяет временно изменять параметры rc http://stackoverflow.com/a/41527038/2166823 –
Отличный ответ, спасибо! Просто примечание для кого-либо еще: '' ax.tick_params (axis = 'x', colors = 'red', which = 'both') '' - which = "both" изменяет как основные, так и малые цвета тика. – kinverarity
'ax.tick_params (axis = 'x', colors = 'red')' похоже, меняет цвет как галочки, так и метки ... – Jonathan
Можно ли использовать 'ax.yaxis.label.set_color (' серый ') 'таким образом, что только тики от' y1' до 'y2' меняют свой цвет, а остальные остаются неизменными? – FaCoffee