Matplotlib: Зміна кольору осі


80

Чи є спосіб змінити колір осі (не кліщів) у matplotlib? Я переглядав документи для “Сокир”, “Осей” та “Художник”, але не пощастило; галерея matplotlib також не має підказки. Будь-яка ідея?

Відповіді:


159

Використовуючи фігури, ви можете легко змінити колір хребта за допомогою:

ax.spines['bottom'].set_color('#dddddd')
ax.spines['top'].set_color('#dddddd') 
ax.spines['right'].set_color('red')
ax.spines['left'].set_color('red')

Використовуйте наступне, щоб змінити лише галочки:

  • which="both" змінює як основний, так і другорядний кольори кліщів
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')

1
ax.tick_params(axis='x', colors='red')здається, змінює колір і кліща, і етикетки ...
Джонатан,

Чи можна використовувати ax.yaxis.label.set_color('grey')таким чином , що тільки тики від y1до y2змінюють свій колір, а інші залишаються незмінними?
FaCoffee

Будь-яка ідея про те, як змінити колір точок, які будуть розкидані?
Харіт Вішваркарма

@FaCoffee Ви можете встановити кольори міток, незалежно від кольору галочки, зателефонувавши set_ticklabels()та передавши kwarg color. ax.xaxis.set_ticklabels([0.0,0.2,0.4,0.6,0.8,1.0], color = 'k')
Ось

21

Для протоколу, ось як мені вдалося змусити це працювати:

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')

16

Ви можете зробити це, відрегулювавши налаштування rc за замовчуванням.

import matplotlib
from matplotlib import pyplot as plt

matplotlib.rc('axes',edgecolor='r')
plt.plot([0, 1], [0, 1])
plt.savefig('test.png')

2
Matplotlib також має менеджер контексту , який дозволяє для тимчасової зміни параметрів RC stackoverflow.com/a/41527038/2166823
joelostblom
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.