Käsk annotate pakub mitmekülgseid võimalusi teksti kirjutamiseks graafikule. Põhiparameetrid on tekst ise (sõnena) ja selle koordinaadid (ennikuna). Tekst tohib sisaldada ka LaTeX'i koodis matemaatilisi sümboleid ja avaldisi (asetatuna dollarimärkide vahele).

Sageli soovitakse tekst paigutada teljestiku suhtes kindlasse positsiooni, näiteks vasakusse ülemisse nurka. Sel juhul on mugav kasutada koordinaatsüsteemi, kus teljestiku vasakpoolne alumine koordinaat on (0,0) ja parempoolne ülemine koordinaat on (1,1). Sellise koordinaadistiku aktiveerib parameeter xycoords='axes fraction'.

annotate('Joone võrrand $y=9.2x^2-6.6x+1.2$', (0.03, 0.96), color='b',
    backgroundcolor='w', va='top', xycoords='axes fraction')
Graafiku annoteerimine

Juhtjoonega saab osutada konkreetsele punktile graafikul. Sel juhul tuleb anda nii nimetatud punkti kui ka teksti koordinaadid. Esimese jaoks on mõistlik kasutada graafiku koordinaadistikku (vaikimisi), seevastu teksti paigutus on mugavam väljendada nihkena punktides:

annotate('$y=9.2x^2-6.6x+1.2$', xy=(1.13, 5.45), xytext=(-30, 50), textcoords='offset points',
    backgroundcolor='yellow', va='bottom', ha='center', arrowprops=dict(arrowstyle='-|>'))
Graafiku annoteerimine

Kasutades tühja sõne, saab sama käsku kasutada ka lihtsalt noolte joonestamiseks (siin osutub vajalikuks ka noole suuna muutmine, mida on tehtud arrowstyle kaudu):

def harrow(x, y, p): # horisontaalne nool pikkusega p punktist (x, y)
    annotate('', xy=(x, y), xytext=(p, 0), textcoords='offset points', arrowprops=dict(arrowstyle='<|-') )
    
plot(aeg, kiirus, 'r-')
harrow(1.5, 21, -30)
xlabel('Aeg')
ylabel('Kiirus', color='r')
twinx()
plot(aeg, kiirendus, 'b-')
harrow(2.4, 9, 30)
ylabel('Kiirendus', color='b')
show()
Graafiku annoteerimine

Käsk axvspan või axhspan joonestab graafikule (osaliselt läbipaistva) ristküliku, mis kulgeb vertikaalselt või horisontaalselt üle teljestiku. Sel viisil saab näiteks esile tõsta piirkonna, kus toimub/kehtib teatav füüsikaline protsess/mudel, vms. Parameeter alpha määrab ristküliku läbipaistvuse (1 on täiesti läbipaistmatu, 0 on täiesti läbipaistev).

plot(x, y, 'm.')
axvspan(0.0, 0.3, color='r', alpha=0.2)
axvspan(0.5, 2.2, color='g', alpha=0.2)
axvspan(2.5, 2.8, color='b', alpha=0.2)
grid()
show()
x-telje piirkonna märgistamine graafikul

Käsk axvline või axhline joonestab graafikule märkjoone, mis kulgeb vertikaalselt või horisontaalselt üle teljestiku. Lisaks värvusele võib mõistlik olla ka joone laadi (ls) ja paksuse (lw) kohendamine, et märkjoon selgemalt eristuks graafikul kujutatud andmeseeriatest.

plot(x, y, 'b-')
axvline(0.5, color='r', ls='--')
axvline(2.2, color='r', ls='--')
grid()
show()
Vertikaalsed märkjooned

Vaata lisaks

Sisukord