2011-01-21 17 views

Odpowiedz

73

Jako prosty przykład (przy użyciu nieco czystszy sposób niż potencjalnie duplikatu pytanie):

import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111) 

ax.plot(range(10)) 
ax.set_xlabel('X-axis') 
ax.set_ylabel('Y-axis') 

ax.spines['bottom'].set_color('red') 
ax.spines['top'].set_color('red') 
ax.xaxis.label.set_color('red') 
ax.tick_params(axis='x', colors='red') 

plt.show() 

alt text

+0

Dziękuję jak dotąd. ax.tick_params (axis = 'x', colors = 'red') tworzy AxesSubplot nie ma atrybutu "tick_params" błąd. Wiesz dlaczego? –

+11

Hmm ... To dziwne ... Jaką wersję matplotlib używasz? Obejście problemu polega na wykonaniu polecenia '[t.set_color ('red') dla t w ax.xaxis.get_ticklines()]' i '[t.set_color ('red') dla t w ax.xaxis.get_ticklabels()]' . –

11

Jeśli masz kilka cyfr lub wątków, które chcesz zmodyfikować, może być pomocne używać matplotlib context manager, aby zmienić kolor, zamiast zmieniać je pojedynczo. Menedżer kontekstów pozwala tymczasowo zmienić parametry rc tylko dla kodu następującego bezpośrednio po wcięciu, ale nie ma wpływu na globalne parametry rc.

W tym fragmencie podajemy dwie liczby, pierwszą z zmodyfikowanymi kolorami dla osi, tyknięć i znaczników, a drugą z domyślnymi parametrami rc.

import matplotlib.pyplot as plt 
with plt.rc_context({'axes.edgecolor':'orange', 'xtick.color':'red', 'ytick.color':'green', 'figure.facecolor':'white'}): 
    # Temporary rc parameters in effect 
    fig, (ax1, ax2) = plt.subplots(1,2) 
    ax1.plot(range(10)) 
    ax2.plot(range(10)) 
# Back to default rc parameters 
fig, ax = plt.subplots() 
ax.plot(range(10)) 

enter image description here

enter image description here

Można wpisać plt.rcParams, aby wyświetlić wszystkie dostępne parametry RC i używać listowych do wyszukiwania słów kluczowych:

# Search for all parameters containing the word 'color' 
[(param, value) for param, value in plt.rcParams.items() if 'color' in param] 
Powiązane problemy