Grafiklar. Matplotlib moduli



Download 8,39 Mb.
bet26/70
Sana01.04.2022
Hajmi8,39 Mb.
#522518
1   ...   22   23   24   25   26   27   28   29   ...   70
Bog'liq
Matplotlib2

3D grafikasini chizish
Matplotlib 0.99 versiyasida ikki o'lchovli va uch o'lchovli grafikalarga qo'shimcha ravishda chizish mumkin. Shaxsan men uchun Matlab-dan surf-funktsiyaning analogi yo'q edi.
Bundan tashqari, bizga matematik kutubxona kerak bo'ladi, chunki uch o'lchovli grafika darslarining ba'zi usullari numpy.array sinfining parametrlarini parametr sifatida kutadi va Numpy kutubxonasi o'zi kod satrlarini sezilarli darajada kamaytirishi mumkin.
Birinchi uch o'lchovli grafikа
Uch o'lchovli grafikalar bilan ishlash uchun barcha sinflar mpl_toolkits.mplot3d paketida joylashgan, siz ularni import qilishingiz kerak bo'ladi.
Uch o'lchovli grafikni chizish uchun birinchi navbatda uch o'lchovli o'qlarni yaratish kerak. Ularni yaratish uchun siz mpl_toolkits.mplot3d.Axes3D sinfining namunasini yaratishingiz kerak, uning tuzuvchisi kamida bitta parametrni kutadi - matplotlib.figure.Figure sinfining namunasi, bu esa o'z navbatida pylab.figure () ni chaqirish orqali yaratilishi mumkin. Matplotlib.figure.Figure klassining konstruktorida boshqa ixtiyoriy parametrlar mavjud, ammo hozircha biz ulardan foydalanmaymiz. Bo'sh o'qlarni chizamiz:
import pylab
from mpl_toolkits.mplot3d import Axes3D
fig = pylab.figure()
Axes3D(fig)
pylab.show()
Натижа:

Olingan o'qni sichqoncha bilan burishi
Olingan o'qlarga uch o'lchovli narsani chizish vaqti keldi. Barcha misollar uchun ikkita koordinatadan quyidagi funktsiyadan foydalanamiz.

Avval ma'lumotni chizish uchun tayyorlashingiz kerak. Bizga uch o'lchovli matritsa kerak: X va Y matritsalari yuqoridagi funktsiya hisoblanadigan nuqtalar tarmog'ining koordinatalarini saqlaydi va Z matritsasi ushbu funktsiyaning qiymatlarini tegishli nuqtada saqlaydi.
Agar biz tenglamali panjara ustiga (nuqtalar orasidagi masofa bir xil bo'lgan panjara ustida) uch o'lchovli grafik chizmoqchi bo'lsak, u holda kutubxonadagi meshgrid () koordinatalarni saqlaydigan matritsalarni yaratishga yordam beradi. Ushbu funktsiya bir o'lchovli massivlar uchun ikki o'lchovli matritsalarni yaratadi. Ushbu funktsiyaning ishlashi numpy uchun hujjatlarda juda aniq ko'rsatilgan:
>>> X, Y = numpy.meshgrid([1,2,3], [4,5,6,7])
>>> X
array([[1, 2, 3],
[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
>>> Y
array([[4, 4, 4],
[5, 5, 5],
[6, 6, 6],
[7, 7, 7]])
Endi panjara tugunining indeksiga ko'ra biz haqiqiy koordinatalarni topamiz: X [0] [0] = 1, Y [0] [0] = 4, va hokazo.
Ma'lumotlar tayyorlanishini rasmning o'zidan ajratish uchun biz panjara yaratamiz va funktsiyani alohida funktsiya sifatida hisoblaymiz:
def makeData ():
x = numpy.arange (-10, 10, 0.1)
y = numpy.arange (-10, 10, 0.1)
xgrid, ygrid = numpy.meshgrid(x, y)
zgrid = numpy.sin (xgrid) * numpy.sin (ygrid) / (xgrid * ygrid)
return xgrid, ygrid, zgrid
Ushbu funktsiya uchta ikki o'lchovli matritsalarni qaytaradi: x, y, z. X va y koordinatalari -10 dan 10 gacha, 0,1 nisbatda.
Endi biz to'g'ridan-to'g'ri chizishga qaytamiz. Ma'lumotlarimizni namoyish qilish uchun AxD3D sinf misolining plot_surface () metodini chaqirish kifoya, bunda biz makeData () funktsiyasi yordamida olingan ikki o'lchovli matritsalarni olamiz.
Endi bizning misolimiz quyidagicha:

Download 8,39 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   70




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish