Odatiy bo'lib, afsonalar har doim ham qulay bo'lmasligi mumkin bo'lgan jadvalning yuqori o'ng burchagida ko'rsatiladi (masalan, bizning holatlarimizda). Afsonaning o'rnini o'zgartirish uchun siz nomlangan parametr lokal funktsiyalariga o'tishingiz kerak, ular har xil bo'lishi mumkin: 1. Chiziq. 2. butun son. 3. Afsona koordinatalarini belgilaydigan ikkita qiymatning to'plami. Dastlabki ikkita nuqta bir xil. Matplotlib kutubxonasida simli konstantalar va ularning mos keladigan butun sonlari mavjud bo'lib, ular afsonaning qaerda joylashganligini tasvirlaydi. Ushbu barqarorliklar quyidagi jadvalda keltirilgan:
'best'
|
0
|
'upper right'
|
1
|
'upper left'
|
2
|
'lower left'
|
3
|
'lower right'
|
4
|
'right'
|
5
|
'center left'
|
6
|
'center right'
|
7
|
'lower center'
|
8
|
'upper center'
|
9
|
'center'
|
10
|
Oldingi kodni шундай o'zgartirамизки afsona pastki chap burchakda хосил булади
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import math
import pylab
from matplotlib import mlab
def func (x):
return 1.0 if x == 0 else math.sin (x) / x
if __name__ == '__main__':
xmin = -55.0
xmax = 20.0
dx = 0.01
xlist = mlab.frange (xmin, xmax, dx)
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]
pylab.plot (xlist, ylist1, 'b-', label = 'f(x)')
pylab.plot (xlist, ylist2, 'g--', label = 'f(0.2 * x)')
pylab.legend (loc='lower left')
pylab.grid()
pylab.show()
Натижа:
Agar biz pylab.legend (loc = 'pastki chap') qatorini pylab.legend (loc = 3) bilan almashtirsak, biz shunga o'xshash natijaga erishamiz.
"bes", Matplotib kutubxonasiga afsonani qaerga ko'chirish kerakligini aniqlash uchun mo'ljallangan. Agar pylab.legend (loc = 'pastki chap') qatorini pylab.legend (loc = 'best') yoki pylab.legend (loc = 0) bilan almashtirsak, afsonaning qaerdaligini bilib olaylik:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import math
import pylab
from matplotlib import mlab
def func (x):
return 1.0 if x == 0 else math.sin (x) / x
if __name__ == '__main__':
xmin = -55.0
xmax = 20.0
dx = 0.01
xlist = mlab.frange (xmin, xmax, dx)
ylist1 = [func (x) for x in xlist]
ylist2 = [func (x * 0.2) for x in xlist]
pylab.plot (xlist, ylist1, 'b-', label = 'f(x)')
pylab.plot (xlist, ylist2, 'g--', label = 'f(0.2 * x)')
pylab.legend (loc=0)
pylab.grid()
pylab.show()
Натижа:
Аniq koordinatalи афсона
Ammo bu usul bir oz qo'pol bo'lib, biz koordinatalarni aniq ko'rsatmasdan faqat afsonaning joylashgan joyini ko'rsatamiz.
Agar ularni bir xil lok parametrining qiymati sifatida ikkita sonning to'plami sifatida o'tkazsak, koordinatalarni ham belgilashimiz mumkin. Koordinatalar normallashtirilgan, ya'ni. nuqta (0.0, 0.0) sxemaning pastki chap burchagiga (derazaga emas, balki grafikaning o'zi ko'rsatiladigan maydonga) to'g'ri keladi va (1.0, 1.0) yuqori o'ng burchakka to'g'ri keladi. Agar ulanish elementi mahalliy parametrning qiymati sifatida qabul qilinsa, bu afsonaning pastki chap burchagi belgilangan normallashtirilgan koordinatalarga joylashishini anglatadi. Aslida, afsona sxemadan chiqib ketishi mumkin.
Oldingi manbaning 33-qatorini keyingisiga o'rnatamiz (qolgan kod o'zgarishsiz qoladi):
pylab.legend (loc=(0.0, 0.0))
Легенданинг жойи ўзгарди:
Легендани юқори ўнг бурчакга қўямиз:
pylab.legend (loc=(0.743, 0.865))
Ўқлар va afsonalar orasidagi bo'shliq
Afsuski, biz afsona o'rnini lok parametridan foydalanganimizda, satr yoki butun sonlarni olganda, afsona va grafik o'qlari o'rtasida bo'sh joy borligini payqadingiz. Uning qiymati borderaxespad parametridan foydalanib o'rnatiladi. Masalan, quyidagi kod nafaqat chap chap burchakda afsonani o'rnatibgina qolmay, balki chegaraning chegarasi bilan chegarani birlashtirib, chegara chegarasining chegarasi sifatida 0 qiymatini o'tkazadi.Bu qiymat ma'lum bir ixtiyoriy birliklarda, aniqrog'i, shrift o'lchamlari ko'rsatilgan birliklarda o'rnatiladi.
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
Do'stlaringiz bilan baham: |