Mustaqil ish mavzu: Matplotlib kutubxonasi bilan ishlash. Ma’lumotlarni grafik tasvirlash turlari. Bajardi


Download 0.57 Mb.
Sana24.06.2023
Hajmi0.57 Mb.
#1653171
Bog'liq
Malumotlarning intellektual tahlili Т.Хакимов 024-18


MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI


Fan nomi: Ma‘lumotlarning intellektual tahlili

MUSTAQIL ISH




Mavzu: Matplotlib kutubxonasi bilan ishlash. Ma’lumotlarni grafik tasvirlash turlari.


Bajardi: 024-18 SKI guruh talabasi
Xakimov Toir

Tekshirdi: ___________________

Toshkent 2023
Matplotlib-dan foydalanish oson va Python-da ajoyib vizualizatsiya kutubxonasi. U NumPy massivlarida qurilgan va kengroq SciPy stek bilan ishlash uchun mo'ljallangan va qator, chiziq, scatter, gistogramma va boshqalar kabi bir nechta chizmalardan iborat.
Ushbu maqolada biz Matplotlib yordamida Python chizmalarini asoslardan tortib, har xil turdagi syujetlar va ularni moslashtirish haqida ma'lumotni o'z ichiga olgan ulkan ma'lumotlar to'plami yordamida oldinga siljish haqida bilib olamiz.
Matplotlib haqida o'rganishni boshlashdan oldin biz avval muhitni sozlashimiz kerak va Matplotlibni Jupyter Notebook bilan qanday ishlatishni ham ko'rib chiqamiz:
Atrof-muhitni sozlash va Matplotlib-dan Jupyter bilan qanday foydalanishni o'rgangach, oddiy syujetni yarataylik. Biz uchastka uchun X, Y koordinatalarini o'z ichiga olgan ikkita ro'yxatni tuzamiz.

Yuqoridagi misolda X va Y elementlari x o'qi va y o'qi uchun koordinatalarni beradi va bu koordinatalarga to'g'ri chiziq chiziladi. Matplotlib bilan batafsil tanishish va asosiy diagrammalar qanday tuzilganligini ko'rish uchun quyidagi maqolaga qarang.


Yuqoridagi maqolada siz Pyplot kodda import qilinganini ko'rgan bo'lishingiz mumkin va Pyplot nima ekanligini qiziqtirgan bo'lsangiz kerak. Xavotir olmang, biz Pyplotni keyingi bo'limda muhokama qilamiz.
Piplot
Pyplot - bu MATLAB-ga o'xshash interfeysni ta'minlovchi Matplotlib moduli. Pyplot figura bilan o'zaro ta'sir qiluvchi funktsiyalarni ta'minlaydi, ya'ni figurani yaratadi, syujetni teglar bilan bezatadi va rasmda chizma maydonini yaratadi.
matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)


Matplotlib rasm va eksa kabi o'rnatilgan standart sozlamalarni yaratish bilan shug'ullanadi. Bu atamalar haqida qayg‘urmang, biz ularni quyidagi bo‘limda batafsil o‘rganamiz, lekin keling, ushbu shartlar haqida qisqacha to‘xtalib o‘tamiz.

Rasm: Bu sinf barcha uchastkalar uchun yuqori darajadagi konteyner bo'lib, u hamma narsa chizilgan umumiy oyna yoki sahifa ekanligini anglatadi. Shakl ob'ektini bir yoki bir nechta o'qni ushlab turadigan qutiga o'xshash idish deb hisoblash mumkin.


O'qlar: Bu sinf pastki uchastkalarni yaratish uchun eng asosiy va moslashuvchan komponent hisoblanadi. Siz o'qlarni o'qning ko'pligi sifatida chalkashtirib yuborishingiz mumkin, ammo bu alohida chizma yoki grafikdir. Berilgan rasmda ko'plab o'qlar bo'lishi mumkin, ammo berilgan o'qlar faqat bitta rasmda bo'lishi mumkin.
Rasmlar sinfi
Shakl sinfi - bu bir yoki bir nechta o'qni o'z ichiga olgan yuqori darajadagi konteyner. Bu hamma narsa chizilgan umumiy oyna yoki sahifa.

Sintaksis:


class matplotlib.figure.Figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None)



2-misol: Bir nechta syujetlarni yaratish

Chiqish:

Axes sinfi
Axes sinfi pastki uchastkalarni yaratish uchun eng asosiy va moslashuvchan birlikdir. Berilgan rasmda ko'plab o'qlar bo'lishi mumkin, ammo berilgan o'qlar faqat bitta rasmda bo'lishi mumkin. axes() funksiyasi axes obyektini yaratadi. Quyidagi misolni ko'rib chiqaylik.

Sintaksis: matplotlib.pyplot.axis(*args, emit=True, **kwargs)


1-misol:





Limitlar va belgilarni belgilash
Matplotlib avtomatik ravishda x va y o'qlarining qiymatlari va markerlarini (nuqtalarini) o'rnatishini ko'rgan bo'lishingiz mumkin, ammo chegara va markerlarni qo'lda o'rnatish mumkin. set_xlim() va set_ylim() funksiyalari mos ravishda x va y o'qlarining chegaralarini o'rnatish uchun ishlatiladi. Xuddi shunday, belgi belgilarini o'rnatish uchun set_xticklabels() va set_yticklabels() funksiyalaridan foydalaniladi.

Misol:



Bir nechta uchastkalar
Hozirgacha siz Matplotlib va oddiy syujetlarni tuzish haqida asosiy tasavvurga ega bo'lsangiz kerak, endi bir xil rasmda bir nechta syujetlarni chizmoqchi bo'lsangiz-chi. Buni bir necha usullar yordamida amalga oshirish mumkin. Bir usul yuqorida figura sinfining add_axes() usuli yordamida muhokama qilindi. Keling, misollar yordamida bir nechta uchastkalarni qo'shishning turli usullarini ko'rib chiqaylik.

1-usul: add_axes() usulidan foydalanish


Matplotlib kutubxonasining add_axes() usuli rasm moduli rasmga o'q qo'shish uchun ishlatiladi.

Sintaksis: add_axes(self, *args, **kwargs)


Misol:


add_axes() usuli boshqa eksa ob'ektini yaratish orqali xuddi shu rasmdagi syujetni qo'shadi.

2-usul: subplot() usulidan foydalanish.


Ushbu usul belgilangan panjara holatida joriy raqamga boshqa chizma qo'shadi.

Sintaksis:


subplot(nrows, ncols, index, **kwargs)

subplot(pos, **kwargs)

subplot(ax)
Misol:


Eslatma: Subplot() funksiyasi quyidagi kamchiliklarga ega:
Bu bir vaqtning o'zida bir nechta subplotlarni qo'shishga ruxsat bermaydi.
U figuraning oldingi syujetini o'chiradi.
3-usul: subplots() usulidan foydalanish
Bu funksiya bir vaqtning o'zida rasm va bir nechta pastki chizmalarni yaratish uchun ishlatiladi.
Sintaksis:
matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)


4-usul: subplot2grid() usulidan foydalanish
Ushbu funktsiya to'r ichidagi ma'lum bir joyda eksa ob'ektini yaratishda qo'shimcha moslashuvchanlikni beradi. Bundan tashqari, u eksa ob'ektini bir nechta satr yoki ustunlar bo'ylab kengaytirishga yordam beradi. Oddiyroq so'zlar bilan aytganda, bu funktsiya bir xil rasmda bir nechta diagrammalarni yaratish uchun ishlatiladi.

Sintaksis:


Plt.subplot2grid(shape, location, rowspan, colspan)
Misol:

Legend nima


Legend - bu grafik elementlarini tavsiflovchi maydon. Oddiy qilib aytganda, u grafikning Y o'qida ko'rsatilgan ma'lumotlarni aks ettiradi. U odatda grafikdagi har bir rangning kichik namunasini va bu ma'lumotlar nimani anglatishini kichik tavsifni o'z ichiga olgan quti sifatida ko'rinadi.

Legend yaratish


Legend() usuli yordamida Legend yaratish mumkin. Legend() dagi Loc atributi afsonaning joylashuvini belgilash uchun ishlatiladi. Loc ning standart qiymati loc = "best" (yuqori chap). "Yuqori chap", "yuqori o'ng", "pastki chap", "pastki o'ng" satrlari afsonani o'qlar / shaklning mos keladigan burchagiga qo'yadi.

legend() funksiyasining bbox_to_anchor=(x, y) atributi afsonaning koordinatalarini belgilash uchun ishlatiladi, ncol atributi esa afsonaga ega ustunlar sonini ifodalaydi. Uning standart qiymati 1.

Sintaksis: matplotlib.pyplot.legend([“blue”, “green”], bbox_to_anchor=(0.75, 1.15), ncol=2)

Har xil turdagi uchastkalarni yaratish


Chiziqli grafik
Hozirgacha barchangiz biz faqat chiziqli diagrammalar bilan ishlayotganimizni ko'rgan bo'lsangiz kerak, chunki ularni chizish va tushunish oson. Chiziqli diagramma boshqa o'qdagi ikkita X va Y ma'lumotlari o'rtasidagi munosabatni ifodalash uchun ishlatiladi. U pot() funksiyasi yordamida chiziladi. Quyidagi misolni ko'rib chiqaylik

Misol:



Shtrixli diagramma
Chiziqli diagramma yoki shtrixli diagramma - bu ular ifodalagan qiymatlarga mutanosib bo'lgan uzunliklari va balandligi bo'lgan to'rtburchaklar chiziqli ma'lumotlar toifasini ifodalovchi grafik. Bar uchastkalari gorizontal yoki vertikal ravishda chizilgan bo'lishi mumkin. Chiziqli diagramma diskret toifalar orasidagi taqqoslashni tavsiflaydi. U bar() usuli yordamida yaratilishi mumkin.

Sintaksis: plt.bar(x, height, width, bottom, align)




Gistogrammalar
Gistogramma asosan ma'lumotlarni ba'zi guruhlar shaklida ko'rsatish uchun ishlatiladi. Bu chiziqli chizmaning bir turi bo'lib, X o'qi bin diapazonlarini ifodalaydi, Y o'qi esa chastota haqida ma'lumot beradi. Gistogramma yaratish uchun birinchi qadam diapazonlar qutisini yaratish, so'ngra qiymatlarning butun diapazonini bir qator intervallarga taqsimlash va har bir intervalga tushadigan qiymatlarni hisoblashdir. Binlar o'zgaruvchilarning ketma-ket, bir-birining ustiga chiqmaydigan intervallari sifatida aniq belgilangan. Hist() funksiyasi x gistogrammasini hisoblash va yaratish uchun ishlatiladi.

Sintaksis: matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype=’bar’, align=’mid’, orientation=’vertical’, rwidth=None, log=False, color=None, label=None, stacked=False, \*, data=None, \*\*kwargs)




Tarqalish sxemasi
Tarqalish chizmalari o'zgaruvchilar orasidagi munosabatni kuzatish uchun ishlatiladi va ular orasidagi munosabatni ifodalash uchun nuqtalardan foydalaniladi. Matplotlib kutubxonasidagi scatter() usuli scatter chizmasini chizish uchun ishlatiladi.

Sintaksis: matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None)




Pirog diagrammasi
Pie diagramma - bu faqat bir qator ma'lumotlarni ko'rsatishi mumkin bo'lgan dumaloq statistik chizma. Diagrammaning maydoni berilgan ma'lumotlarning umumiy foizidir. Pirog bo'laklari maydoni ma'lumotlar qismlarining foizini ifodalaydi. Pirog bo'laklari takozlar deb ataladi. Takozning maydoni xanjar yoyi uzunligi bilan belgilanadi. U pie() usuli yordamida yaratilishi mumkin.

Sintaksis: matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)



3D syujetlar
Matplotlib faqat ikki o'lchovli chizmalarni hisobga olgan holda kiritilgan. Ammo 1.0 versiyasi chiqqan paytda, 3D yordam dasturlari 2D-da ishlab chiqilgan va shuning uchun bizda bugungi kunda mavjud bo'lgan ma'lumotlarning 3D tatbiq etilishi mavjud.

Misol:



Yuqoridagi kod Matplotlib-da 3D syujetini yaratishga imkon beradi. Biz har xil turdagi 3D chizmalarni yaratishimiz mumkin, masalan, tarqalish chizmalari, kontur chizmalari, sirt chizmalari va boshqalar. Keling, oddiy 3D chiziqli chizmani yarataylik.

Misol:



Tasvirlar bilan ishlash
Matplotlib kutubxonasidagi tasvir moduli Pythonda tasvirlar bilan ishlash uchun ishlatiladi. Tasvir moduli shuningdek ikkita foydali usulni o'z ichiga oladi, ular tasvirlarni o'qish uchun ishlatiladigan imread va tasvirni ko'rsatish uchun ishlatiladigan imshow.

Misol:



Download 0.57 Mb.

Do'stlaringiz bilan baham:




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