logo

Pythonda Matplotlib kutubxonasidan foydalanib diagrammalar va uch o’lchovli grafiklar chizish

Загружено в:

12.08.2023

Скачано:

0

Размер:

577.583984375 KB
“ Pythonda Matplotlib kutubxonasidan foydalanib diagrammalar va uch
o’lchovli grafiklar chizish ” mavzusida
MUNDARIJA 
Kirish 
I BOB Pythonda matplotlib kutubxonasi . 
1.1 Pythonda matplotlib moduli va u  bilan ishlash
2.2 Pythonda matplotlib standart atributlar va metodlar
II BOB Pythonda matplotlib kutubxonasidan foydalanib 
diagrammalar chizish
2.1 Pythonda matplotlib kutubxonasi diagrammalari
2.2   Pythonda matplotlib kutubxonasi   doiraviy diagrammalari
III BOB  Pythonda Matplotlib kutubxonasidan foydalanib uch 
o’lchovli grafiklar chizish
3.1 Pythonda Matplotlib kutubxonasidan foydalanib uch o’lchovli
grafiklar chizish 
IV BOB Amaliy mashqlar
4.1  D iagrammalar chizish
4.2 U ch o’lchovli grafiklar chizish
Xulosa 
Adabiyotlar  
1  
                                           Kirish
Kurs   ishining   maqsadi   python   dasturlash   tilida   matplotlib   kutubxonasidan
foydalanish.   Pythonning   matplotlib   kutubxonasida   matematik   funksiyalar,
diagramma, gistogramma, doirali diagramma va uch o’lchovli grafiklar chizish,
ularni   chizish   uchun   zarur   bo’ladigan   funksiyalar,   funksiya   xossalarini
o’rganish. O’rganilgan  funksiya va funksiya xossalaridan foydalanib dasturlar
tuzish.
Har bir funksiyani o’rganib uning xossalarini qo’llab ko’rish. Funksiyalarni
xossalarini qo’llab ularni o’zaro taqqoslash.
Kurs   ishining   vazifasi   pythonning   matplotlib   kutubxonasida   matematik
funksiyalar,   diagramma,   gistogramma,   doirali   diagramma   va   uch   o’lchovli
grafiklar   chizish,   ularni   chizish   uchun   zarur   bo’ladigan   funksiyalar,   funksiya
xossalarini o’rganib, ulardan foydalanib  hayotiy masalalarda qo’llash. 
2  
  I-BOB    Pythonda Matplotlib kutubxonasi
1.1. Pythonda matplotlib moduli va u  bilan ishlash
Agar   sizda   Python   va   PIP   tizim   allaqachon   o'rnatilgan   bo'lsa,   Matplotlibni
o'rnatish juda oson. Ushbu buyruq yordamida uni o'rnatish mumkin:
С :\User\Your Name>pip install matplotlib
Matplotlib   o'rnatilgandan   so'ng,   quyidagi   bayonotni   qo'shish   orqali   uni
ilovalaringizga import qilishingiz mumkin.
import   module
Matplotlib versiyasi   __version__     qatori atribut   ostida saqlanadi.
Versiya   2.1.1   -   oxirgi   barqaror   versiya   -   Python   2.7   yoki   3.4   yoki   undan
keyingi versiyalari va   NumPy   1.7.1 yoki undan keyingi versiyalarini talab qiladi.
Matplotlib   yordam   dasturlarining   aksariyati   pyplot submodul   ostida
joylashgan va odatda   plt   taxallus ostida import qilinadi.
Masalan:
import   matplotlib.pyplot   as   plt
matplotlib   ni   import   qilishning   boshqa   usulari   ham   mavjud.   Import
qilishning umumiy usulidan foydalaniz:
Import matplotlib as *
“*”   belgisi   qo’yilsa   taxallusdan   foydalanish   shart   emas   shunchaki
funksiyalarni yozish yetarli. Ammo bu usulda xatolar ha, uchrab turadi shuning
uchun ushbu usul kam qo’llaniladi.
2.2 Pythonda matplotlib standart atributlar va metodlar
x va y nuqtalarini chizish
Funksiya   plot()   diagrammadagi   nuqtalarni   (markerlarni)   chizish   uchun
ishlatiladi.   plot()   funksiya   nuqtadan   nuqtaga   chiziq   chizadi.   Funksiya
diagrammadagi nuqtalarni belgilash uchun parametrlarni oladi.
1 -parametr x o'qidagi   nuqtalarni o'z ichiga olgan massivdir   .
2 -parametr y o'qidagi   nuqtalarni o'z ichiga olgan massivdir   .
X   o'qi   - gorizontal o'q.
Y   o'qi   - vertikal o'q.
Marker
3  
  Faqat   markerlarni   chizish   uchun   "uzuklar"   degan   ma'noni   anglatuvchi
"o"   yorliq   qatoridan   foydalanish   mumkin.   Belgilangan   marker   bilan   har   bir
nuqtani   ko’rsatish   uchun   Marker   kalit   so'z   argumentidan   foydalanish   mumkin.
Siz   markerni   belgilash   uchun   yorliq   satrini   belgilash   parametridan   ham
foydalanishingiz   mumkin.   Ushbu   parametr   ham   fmt   deyiladi     va   bu   sintaksis
bilan yoziladi.  Marker  qiymati   yuqoridagi   Marker  ma'lumotnomasidan   istalgan
narsa bo'lishi mumkin.
Har   bir   nuqtani   yulduzcha   bilan   belgilash   uchun   marker   kalit   so’ziga   “*”
belgisini ta’minlash zarur.
plt.plot(ypoints, marker =   '*')
Marker Tavsif 
'o' Aylana
'*' Yulduzcha
'.' nuqta
',' piksel
'x' X
'X' X (to’ldirilgan)
'+' plyus
'P' Plyus(to’ldirilgan)
's' To’rtburchak
'D' Olmos shakli
'd' Olmos shakli(to’ldirilgan)
'p' Beshburchak
'H' Oltiburchak
'h' Oltiburchak
'v' Uchburchak pastki
'^' Uchburchak ustki
'<' Uchburchak o’ng
'>' Uchburchak chap
'1' Tri Down
'2' Tri Up
'3' Tri Left
'4' Tri Reight
'|' Vline
'_' Hline
Markerlar   o'lchamini   belgilash   uchun   kalit   so'z   argumenti   markersize   yoki
qisqaroq   versiyadan   foydalanishingiz   mumkin.   Markerlar   chetining   rangini
4  
  belgilash   uchun   kalit   so'z   argumenti   markeredgecolor   yoki   undan   qisqaroq
so'zdan   foydalanishingiz   mumkin.   Butun   markerni   rang   berish   uchun   ikkala
va   mecmfc argumentlardan   foydalaning. 
Marker rangi
Markerlar   chetining   rangini   belgilash   uchun   kalit   so'z
argumenti   markeredgecolor   yoki   undan   qisqaroq   so'z   “mec”   dan   foydalanish
mumkin  
Rang belgisi Tavsifi 
red Qizil
g Yashil
b Ko’k
c Zangori
m To’q pushti
y Sariq
k qora
w oq
Siz rang xaritasini kalit so'z argumenti   cmap bilan rang xaritasining qiymati
bilan   belgilashingiz   mumkin,   bu   holda   'viridis'   Matplotlibda   mavjud   bo'lgan
ichki rang xaritalaridan biri. Siz quyidagi   plt.colorbar() bayonotni qo'shish orqali
rasmga rang xaritasini kiritishingiz mumkin:
Marker hajmi
Markerlar   hajmini   markersize   yoli   qisqaroq   ms   kalit   so’zlar   yordamida
berish   mumkin.     Xuddi   ranglar   kabi,   o'lchamlar   uchun   massiv   x   va   y   o'qlari
uchun massivlar bilan bir xil uzunlikka ega ekanligiga ishonch hosil qiling
Chiziqlar
Chizilgan   chiziq   uslubini   o'zgartirish   uchun   argument   linestyle   yoki   undan
qisqaroq   ls   kalit   so'zdan   foydalanishingiz   mumkin.   Chiziq   uslubi   qisqaroq
sintaksisda yozilishi mumkin ular quyidagicha:
1. Linestyle sifatida yozish mumkin   ls
2. Dotted sifatida yozish mumkin   :
3. Dashed sifatida yozish mumkin   --
Chiziq   rangini   o'rnatish   uchun   kalit   so'z   argumenti   color   yoki   undan
qisqaroq   c   so'zdan   foydalanishingiz   mumkin.   Chiziq   kengligini   o'zgartirish
uchun   linewidth   kalit   so'z   argumentidan   yoki   undan   qisqaroq   lw   so'zdan
5  
  foydalanishingiz   mumkin.   Siz   shunchaki   qo'shimcha   plt.plot()   funksiyalarni
qo'shish orqali xohlaganingizcha ko'p qatorlarni chizishingiz mumkin.
Xuddi   shu   funksiyadagi   har   bir   satr   uchun   x   va   y   o'qlari   uchun   nuqtalarni
qo'shib, ko'plab chiziqlarni chizishingiz mumkin.
Pyplot   yordamida   siz     x   va   y   o'qlari   uchun   teg   o'rnatish   uchun   xlabel()   va
ylabel() funksiyalaridan foydalanishingiz mumkin.  
Pyplot yordamida siz    syujet sarlavhasini o'rnatish uchun title()  funksiyadan
foydalanishingiz   mumkin.   Sarlavha   va   teglar   uchun   shrift   xususiyatlarini
o'rnatish   uchun     xlabel(),   ylabel()   va   title()     dagi     fontdict
parametrdan   foydalanishingiz   mumkin.   Sarlavhani   joylashtirish   uchun   locin
parametridan   foydalanishingiz   mumkin.   Bundan   tashqari   yozuvlar:   "chap",
"o'ng" va "markaz" holatda bo’lishi mumkin.   Bunda standart qiymat   “markaz”
bo’lib hisoblamadi.
Pyplot   yordamida   siz   syujetga     panjara   chiziqlarini   qo'shish   uchun   grid()
funksiyadan   foydalanishingiz   mumkin.   Qaysi   panjara   chiziqlarini   ko'rsatishni
belgilash   uchun grid() funksiyadagi parametrdan   foydalanishingiz mumkin.
Bundagi   bo’ladigan   holatlar:   "x"   o’qi   bo’yicha,   "y"   o’qi   bo’yicha   va
"ikkalasi"   bo’yicha   bo’lishi   mumkindir.   Bundagi   standart   qiymat   “ikkalasi”dir.
To‘rning chiziq xossalarini ham o‘rnatishingiz mumkin, masalan: panjara (rang
= '   rang   ', chiziq uslubi = '   chiziq uslubi   ', chiziq kengligi =   raqam   ).
subplot()   Funksiya   yordamida   siz   bitta   rasmda   bir   nechta   chizmalarni
chizishingiz   mumkin.   Funksiya   subplot()   rasmning   tartibini   tavsiflovchi   uchta
argumentni   oladi.   Tartib   birinchi   va   ikkinchi   argumentlar   bilan   ifodalangan
qatorlar va ustunlar shaklida tashkil etilgan. suptitle() funksiya yordamida butun
rasmga sarlavha qo'shishingiz mumkin.
Pyplot   yordamida   siz     tarqalish   chizmasini   chizish   uchun   scatter()
funksiyadan foydalanishingiz mumkin. scatter() funksiya    har bir kuzatish uchun
bitta nuqta chizadi.   Unga bir xil uzunlikdagi ikkita massiv kerak bo'ladi. Biri x
o'qi qiymatlari uchun, ikkinchisi esa y o'qidagi qiymatlar uchundir. 
Teglar va sarlavhalar
Pyplot   yordamida   siz   x   va   y   o'qlari   uchun   teg   o'rnatish   uchun   xlabel()va
ylabel()   funksiyalaridan   foydalanishingiz   mumkin.   Pyplot   yordamida   siz
syujetga   title()sarlavha   o'rnatish   uchun   funksiyadan   foydalanishingiz   mumkin.
Sarlavha   va   teglar   uchun   shrift   xususiyatlarini   o'rnatish   uchun   xlabel(),
ylabel()   va title()dagi   fontdictparametrdan   foydalanishingiz mumkin. 
Sarlavhani   joylashtirish   uchun   title()   da   loc   parametridan   foydalanishingiz
mumkin . Yordamchi kalit so’zlari: "chap", "o'ng" va "markaz".   Standart qiymat
sifatida “markaz” qabul qilingan.
6  
  Matplotlib   panjara chiziqlari
Pyplot   yordamida   siz   syujetga     panjara   chiziqlarini   qo'shish   uchun   grid()
funksiyasidan   foydalanish   mumkin.   Qaysi   panjara   chiziqlarini   ko'rsatishni
belgilash   uchun grid() funktsiyasidagi axis parametridan   foydalanish mumkin .
Yordamchi kalit so’zlar: "x", "y" va "both".   Standart qiymat “both”dir.
To‘rning chiziq xossalarini ham o‘rnatishingiz mumkin, masalan: grid(color
= '   rang   ', linestyle= '   chiziq uslubi   ', linewidth=   raqam   ).
Bir nechta chizmalarni ko'rsatish
subplot()   funktsiyasi   yordamida     siz   bitta   rasmda   bir   nechta   chizmalarni
chizishingiz  mumkin.  subplot()   funksiyasi  rasmning  tartibini   tavsiflovchi   uchta
argumentni   o’ziga   oladi.   Tartibi:   birinchi   va   ikkinchi   argumentlar   bilan
ifodalangan   qatorlar   va   ustunlar   shaklida   tashkil   etilgan   .   Uchinchi   argument
joriy   uchastkaning   indeksini   ifodalaydi.   Shunday   qilib,   agar   biz   2   qatorli   1
ustunli rasmni xohlasak (ya'ni ikkita chizma yonma-yon emas, balki bir-birining
ustiga ko'rsatiladi)   biz sintaksisni quyidagicha yozishimiz mumkin:  
plt.subplot(2,   1,   2)
Bitta   rasmga   o'zingizga   yoqqancha   ko'p   chizmalar   chizishingiz   mumkin,
shunchaki satrlar, ustunlar sonini va uchastka indeksini to’g’ri yozsangiz bo’ldi.
title()   funktsiya   bilan   har   bir   uchastkaga   sarlavha   qo'shishingiz   mumkin.
suptitle()   funktsiya   yordamida   butun   rasmga   sarlavha   qo'shishingiz   mumkin.
Pyplot yordamida siz    tarqalish chizmasini chizish uchun scatter() funksiyasidan
foydalanishingiz mumkin. scatter() funktsiyasi har bir kuzatish uchun bitta nuqta
chizadi.   Unga   bir   xil   uzunlikdagi   ikkita   massiv   kerak   bo'ladi,   biri   x   o'qi
qiymatlari   uchun,   ikkinchisi   esa   y   o'qidagi   qiymatlar   uchun.     Siz   color
yoki   c   argument   yordamida   har   bir   tarqalish   chizmasi   uchun   o'zingizning
rangingizni   o'rnatishingiz   mumkin.   ms   Argument   yordamida   nuqtalar   hajmini
o'zgartirishingiz mumkin   . Xuddi  ranglar  kabi, o'lchamlar  uchun massiv x va y
o'qlari   uchun   massivlar   bilan   bir   xil   uzunlikka   ega   ekanligiga   ishonch   hosil
qiling.
Alfa
Alpha argument   yordamida nuqtalarning shaffofligini sozlashingiz mumkin.
Xuddi   ranglar   kabi,   o'lchamlar   uchun   massiv   x   va   y   o'qlari   uchun   massivlar
bilan bir xil uzunlikka ega ekanligiga ishonch hosil qiling.
2.1. Pythonda matplotlib kutubxonasi diagrammalari
7  
  Chiziqli diagrammalar chizish
Pyplot   yordamida   siz     shtrixli   grafiklarni   chizish   uchun   bar()     funksiyadan
foydalanishingiz   mumkin.   bar()     funksiya     barlar   tartibini   tavsiflovchi
argumentlarni o’z ichiga oladi. Agar siz chiziqlar vertikal emas, balki gorizontal
ravishda   ko'rsatilishini   istasangiz,   barh()funktsiyadan   foydalaning.   Barlar
rangini   o'rnatish   uchun   barh()   va   bar()lar   color   kalit     so'z   argumentini   oladi.
Barlar   kengligini   o'rnatish   uchun   bar()   width     kalit   so'z   argumentini   oladi.
Eslatma:   Gorizontal chiziqlar uchun   width o'rniga height dan  foydalaning   . 
Gorizontal diagrammalar
Agar   siz   chiziqlar   vertikal   emas,   balki   gorizontal   ravishda   ko'rsatilishini
istasangiz,   barh() funksiyadan foydalaning:
Bar   rangi:   Barlar   rangini   belgilash   uchun   bar()   va   barh()   kalit     so'zlari   o’zi
bilan color argumentini oladi.
Bar   kengligi:   Barlar   kengligini   o'rnatish   uchun   bar()   width   kalit   so'z
argumentini oladi.
Gistogramma
Gistogramma   chastota   taqsimotini   ko'rsatadigan   grafikdir.   Bu   har   bir
berilgan oraliqdagi kuzatuvlar sonini ko'rsatadigan grafik.
Matplotlibda   biz     gistogrammalar   yaratish   uchun   hist()   funksiyadan
foydalanamiz.   hist()   funksiya     gistogramma   yaratish   uchun   raqamlar   qatoridan
foydalanadi,   massiv   funksiyasiga   argument   sifatida   yuboriladi.   hist()   funksiya  
massivni o'qiydi va gistogramma hosil qiladi. 
Doirali diagramamalar
Pyplot   yordamida   siz   dumaloq   diagrammalarni   chizish   uchun     pie()
funksiyadan foydalanishingiz mumkin. label   orqali doiraviy diagrammaga teglar
qo'shish mumkin.
Sukut   bo'yicha   boshlash   burchagi   x   o'qida,   lekin   startangle
parametrni   belgilash orqali boshlash burchagini o'zgartirish mumkin.   Startangle
Parametr   daraja   burchak   bilan   aniqlanadi,   standart   burchagi   0.   myexplode
paramentri   bo’laklarni   ajratib   qo’yish   imkonini   beradi.   Parametr   explode ,   agar
belgilanmagan   bo'lsa None ,   har   bir   bo’lak   uchun   bitta   qiymatga   ega   massiv
bo'lishi   kerak.   Har   bir   qiymat   markazdan   qanchalik   uzoqda   joylashganligini
ko'rsatadi.   shadows Parametrni   o'rnatib,   doira   diagrammaga   soya   qo'shing.   Har
bir bo’lak rangini   colors parametr bilan belgilashingiz mumkin. Parametr   colors ,
agar ko'rsatilgan bo'lsa, har bir bo’lak uchun bitta qiymatga ega massiv bo'lishi
kerak.   Har   bir   takoz   uchun   tushuntirishlar   ro'yxatini   qo'shish
8  
  uchun   legend() funktsiyadan   foydalaning.   Tasvirga   sarlavha   qo'shish
uchun   legend   funktsiyaga   title  parametrini qo'shing.  
3.1   Pythonda   Matplotlib   kutubxonasidan   foydalanib   uch   o’lchovli
grafiklar chizish
  Matplotlib dastlab faqat ikki o'lchovli chizmalarni hisobga olgan holda
ishlab   chiqilgan.   Taxminan   1.0   versiyasi   chiqqanda,   Matplotlibning   ikki
o'lchovli   displeyining   ustiga   ba'zi   uch   o'lchovli   chizmalarni   yaratuvchi
yordamchi   dasturlar   qurilgan   va   natijada   uch   o'lchovli   ma'lumotlarni
vizualizatsiya   qilish   uchun   qulay   (agar   biroz   cheklangan   bo'lsa)   asboblar
to'plami   paydo   bo'ldi.   mplot3d Matplotlib-ning   asosiy   o'rnatilishiga   kiritilgan
asboblar to'plamini   import qilish orqali uch o'lchovli   chizmalar yoqiladi:
from   mpl_toolkits   import   mplot3d
Ushbu submodul  import  qilingandan so'ng, kalit so'zni   projection='3d' oddiy
o'qlarni   yaratish   tartiblaridan   istalganiga   o'tkazish   orqali   uch   o'lchamli   o'qlarni
yaratish mumkin. 
Ushbu   uch   o'lchamli   o'qlar   yoqilgan   bo'lsa,   biz   endi   turli   xil   uch   o'lchovli
chizma   turlarini   chizishimiz   mumkin.   Uch   o'lchovli   chizma   -   bu   daftarda
raqamlarni   statik   emas,   balki   interaktiv   tarzda   ko'rishdan   katta   foyda
keltiradigan funksiyalardan biri.
Eng   asosiy   uch   o lchovli   chizma   (x,   y,   z)   uchlik   to plamlardan   yaratilganʻ ʻ
chiziq   yoki   tarqalish   chizmalarining   to plamidir.	
ʻ   Yuqorida   muhokama   qilingan
keng   tarqalgan   ikki   o'lchovli   chizmalarga   o'xshab,   ular   ax.plot3D   va
ax.scatter3D funktsiyalari yordamida yaratilishi mumkin   .   Ular uchun qo'ng'iroq
imzosi   ularning   ikki   o'lchovli   hamkasblari   bilan   deyarli   bir   xil,   shuning   uchun
chiqishni   boshqarish   bo'yicha   qo'shimcha   ma'lumot   olish   uchun   Simple   Line
Plots   va   Simple   Scatter   Plots   ga   murojaat   qilish   mumkin.   Kontur   uchastkalari
o'xshash   zichlik   va   konturl i,   mplot3d   shu   kirishlar   yordamida   uch   o'lchovli
yordam  uchastkalari  yaratish vositalari  mavjud.   Ikki  o'lchovli  chizmalar  singari
ax.contour,   ax.contour3D   barcha   kirish   ma'lumotlari   har   bir   nuqtada   Z
ma'lumotlari   baholangan   ikki   o'lchovli   muntazam   panjaralar   shaklida   bo'lishini
talab qiladi
Ba'zan   standart   ko'rish   burchagi   optimal   emas,   bu   holda   biz   view_init
balandlik va azimut burchaklarini o'rnatish usulidan   foydalanishimiz mumkin. 
Simli   ramkalar   va   sirt   uchastkalari:   To'rlangan   ma'lumotlarda   ishlaydigan
uch   o'lchovli   chizmalarning   yana   ikkita   turi   -   bu   simli   ramkalar   va   sirt
9  
  chizmalari.   Ular   qiymatlar   to'plamini   oladi   va   uni   belgilangan   uch   o'lchovli
yuzaga   proyeksiya   qiladi   va   natijada   paydo   bo'lgan   uch   o'lchamli   shakllarni
vizualizatsiya   qilishni   juda   oson   qiladi.   Sirt   syujeti   simli   ramka   syujetiga
o'xshaydi,   lekin   simli   ramkaning   har   bir   yuzi   to'ldirilgan
ko'pburchakdir.   To'ldirilgan   ko'pburchaklarga   rang   xaritasini   qo'shish
tasvirlangan  sirt  topologiyasini  idrok  etishga  yordam  beradi.  Sirt  syujeti   uchun
qiymatlar   panjarasi   ikki   o'lchovli   bo'lishi   kerak   bo'lsa-da,   u   to'g'ri   chiziqli
bo'lishi shart emas. 
IV BOB  . Amaliy mashqlar
4.1 Chiziqli diagrammalar chizish
import matplotlib.pyplot as plt
# x-o’qidagi koordinatalari
 left = [1, 2, 3, 4, 5]
# balandligi
height = [10, 24, 36, 40, 5]
# ustun nomlari
tick_label = ['one', 'two', 'three', 'four', 'five']
# diagramma chizish
plt.bar(left, height, tick_label = tick_label,
width = 0.8, color = ['red', 'green'])
# x o’qining nomi
plt.xlabel('x - axis')
# y o’qining nomi
plt.ylabel('y - axis')
# diagramma nomi
plt.title('My bar chart!')
plt.show()
10  
  import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery')
# make data
np.random.seed(3)
x = 0.5 + np.arange(8)
y = np.random.uniform(2, 7, len(x))
# plot
fig, ax = plt.subplots()
ax.stem(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
       ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
11  
  Doiraviy diagrammalar
import   matplotlib.pyplot   as   plt
import   numpy   as   np
y=np.array([ 35 ,   25 ,   25 ,   15 ])
plt.pie(y)
plt.show()  
import   matplotlib.pyplot   as   plt
import   numpy   as   np
y = np.array([ 35 ,   25 ,   25 ,   15 ])
mylabels = [ "Apples" ,   "Bananas" ,   "Cherries" ,   "Dates" ]
plt.pie(y,   labels = mylabels)
plt.show()  
12  
  import   matplotlib.pyplot   as   plt
import   numpy   as   np
y=np.array([ 35 ,   25 ,   25 ,   15 ])
mylabels=[ "Apples" ,   "Bananas" ,   "Cherries" ,   "Dates" ]
plt.pie(y,   labels=mylabels,startangle=   90 )
plt.show()  
 
13  
  import   matplotlib.pyplot   as   plt
import   numpy   as   np
y = np.array([ 35 ,   25 ,   25 ,   15 ])
mylabels = [ "Apples" ,   "Bananas" ,   "Cherries" ,   "Dates" ]
myexplode = [ 0.2 ,   0 ,   0 ,   0 ]
plt.pie(y,   labels = mylabels, explode = myexplode)
plt.show()  
14  
  4.2. U ch o’lchovli grafiklar chizish  
matplotlib  inline
import   numpy   as   np
import   matplotlib.pyplot   as   plt
fig   =   plt . figure ()
ax   =   plt . axes ( projection = '3d' )
ax   =   plt . axes ( projection = '3d' )
# Uch o'lchamli chiziq uchun ma'lumotlar
zline   =   np . linspace ( 0 ,   15 ,   1000 )
xline   =   np . sin ( zline )
yline   =   np . cos ( zline )
ax . plot3D ( xline ,   yline ,   zline ,   'gray' )
# Uch o'lchovli tarqoq nuqtalar uchun ma'lumotlar
zdata   =   15   *   np . random . random ( 100 )
xdata   =   np . sin ( zdata )   +   0.1   *   np . random . randn ( 100 )
ydata   =   np . cos ( zdata )   +   0.1   *   np . random . randn ( 100 )
ax . scatter3D ( xdata ,   ydata ,   zdata ,   c = zdata ,   cmap = 'Greens' );
15  
  def   f (x, y):
     return  np . sin(np . sqrt(x  **   2   +  y  **   2 ))
x  =  np . linspace( -6 ,  6 ,  30 )
y  =  np . linspace( -6 ,  6 ,  30 )
X, Y  =  np . meshgrid(x, y)
Z  =  f(X, Y)
 fig  =  plt . figure()
ax  =  plt . axes(projection = '3d' )
ax . contour3D(X, Y, Z,  50 , cmap = 'binary' )
ax . set_xlabel( 'x' )
ax . set_ylabel( 'y' )
ax . set_zlabel( 'z' );
fig   =   plt . figure ()
ax   =   plt . axes ( projection = '3d' )
ax . plot_wireframe ( X ,   Y ,   Z ,   color = 'black' )
ax . set_title ( 'wireframe' );
16  
  ax   =   plt . axes ( projection = '3d' )
ax . plot_surface ( X ,   Y ,   Z ,   rstride = 1 ,   cstride = 1 ,
                 cmap = 'viridis' ,   edgecolor = 'none' )
ax . set_title ( 'surface' );
r   =   np . linspace ( 0 ,   6 ,   20 )
theta   =   np . linspace ( - 0.9   *   np . pi ,   0.8   *   np . pi ,   40 )
r ,   theta   =   np . meshgrid ( r ,   theta )
X   =   r   *   np . sin ( theta )
Y   =   r   *   np . cos ( theta )
Z   =   f ( X ,   Y )
ax   =   plt . axes ( projection = '3d' )
ax . plot_surface ( X ,   Y ,   Z ,   rstride = 1 ,   cstride = 1 ,
                 cmap = 'viridis' ,   edgecolor = 'none' );
17  
  from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
def f(t):
    s1 = np.cos(2*np.pi*t)
    e1 = np.exp(-t)
    return np.multiply(s1, e1)
################
#  Birinchi suplot
################
t1 = np.arange(0.0, 5.0, 0.1)
t2 = np.arange(0.0, 5.0, 0.02)
t3 = np.arange(0.0, 2.0, 0.01)
fig = plt.figure(figsize=plt.figaspect(2.))
fig.suptitle('A tale of 2 subplots')
ax = fig.add_subplot(2, 1, 1)
l = ax.plot(t1, f(t1), 'bo',
            t2, f(t2), 'k--', markerfacecolor='green')
ax.grid(True)
ax.set_ylabel('Damped oscillation')
#################
#  Ikkinchi suplot
18  
  #################
ax = fig.add_subplot(2, 1, 2, projection='3d')
X = np.arange(-5, 5, 0.25)
xlen = len(X)
Y = np.arange(-5, 5, 0.25)
ylen = len(Y)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,
                       linewidth=0, antialiased=False)
ax.set_zlim3d(-1, 1)
plt.show()
import  numpy  as  np
from  myplot  import  plot_verticles
vertices = np.array(
    [
        [ -3 ,  -3 ,  0 ],
        [+ 3 ,  -3 ,  0 ],
        [+ 3 , + 3 ,  0 ]
19  
          [ -3 , + 3 ,  0 ],
        [+ 0 , + 0 , + 3 ]
    ]
)
plot_verticles(vertices
= vertices, isosurf =  True )
Xulosa
Men   bu   kurs   ishimni   qilishda   python   dasturlash   tilining   matplotlib
kutubxonasida   gistogramma,   diagramma,   doiraviy   diagramma  va   uch   o’lchovli
grafiklarni   chizish   uchun   ishlatiladigan   funksiyalar   va   funksiya   xossalarini
o’rgandim. 
Python   dasturlash   tilining   matplotlib   kutubxonasida   gistogramma,
diagramma,   doiraviy   diagramma   va   uch   o’lchovli   grafiklarni   chizish   uchun
ishlatiladigan funksiyalar va funksiya xossalarini dasturda qo’llashni o’rgandim. 
20  
  yaratilish tarixi, imkoniyatlari va Python dasturlash tilini Windows 
operatsion tizimida o`rnatish haqida yozdim. Python dasturida ishlaydigan 
foydalanuvchilar uchun uning sintaksisi, asosiy operatorlari, fayllar, funksiyalar 
bilan ishlash sanoq sistemalari va satrlar bilan ishlash haqida muhim zaruriy 
ma’lumotlar keltirdim. Undan tashqari Pythonda Matplotlib kutubxonasidan 
foydalanib diagrammalar va uch o’lchovli grafiklar chizishni o’rgandim.
21  
  Diagramma va gistogrammalar statistikani tushunarli qilib ko’rsatishda qo’l
keladi. Masalan fakultet o’quvchilari soni yildan yilga ko’payib borayotganini
diagramma   ko’rinishida   ko’rsatilsa   yana   ham   tushunarli   bo’ladi.   Doirali
diagrammalar   ulushlarni   ifodalash   juda   qo’l   keladi.   Fakultet   talabalarini   “5”,
“4”   va   “3”   baho   bilan   semestrni   tamomlagan   o’quvchilarni   foizini
ko’rsatmoqchi bo’lsa doirali diagrammadan foydalansa tushunarli bo’ladi.  
Pythonning matplotlib kutubxonasi berilgan ma’lumotlarga tayanib ulardan
gistogrammalar, diagrammalar, doirali diagrammalar, uch o’lchovli fazoda
grafiklar chizadi.
22  
  Adabiyotlar 
1. www.python.org  
2. www.uhlib.ru  
3. ww.dasturchi.uz    
4. www.w3schools.com   
5. jakevdp.github.io   
6. https://matplotlib.org/2.0.2/mpl_toolkits/mplot3d/tutorial.html   
7. https://likegeeks.com/3d-plotting-in-python/   
23

“ Pythonda Matplotlib kutubxonasidan foydalanib diagrammalar va uch o’lchovli grafiklar chizish ” mavzusida MUNDARIJA Kirish I BOB Pythonda matplotlib kutubxonasi . 1.1 Pythonda matplotlib moduli va u bilan ishlash 2.2 Pythonda matplotlib standart atributlar va metodlar II BOB Pythonda matplotlib kutubxonasidan foydalanib diagrammalar chizish 2.1 Pythonda matplotlib kutubxonasi diagrammalari 2.2 Pythonda matplotlib kutubxonasi doiraviy diagrammalari III BOB Pythonda Matplotlib kutubxonasidan foydalanib uch o’lchovli grafiklar chizish 3.1 Pythonda Matplotlib kutubxonasidan foydalanib uch o’lchovli grafiklar chizish IV BOB Amaliy mashqlar 4.1 D iagrammalar chizish 4.2 U ch o’lchovli grafiklar chizish Xulosa Adabiyotlar 1

Kirish Kurs ishining maqsadi python dasturlash tilida matplotlib kutubxonasidan foydalanish. Pythonning matplotlib kutubxonasida matematik funksiyalar, diagramma, gistogramma, doirali diagramma va uch o’lchovli grafiklar chizish, ularni chizish uchun zarur bo’ladigan funksiyalar, funksiya xossalarini o’rganish. O’rganilgan funksiya va funksiya xossalaridan foydalanib dasturlar tuzish. Har bir funksiyani o’rganib uning xossalarini qo’llab ko’rish. Funksiyalarni xossalarini qo’llab ularni o’zaro taqqoslash. Kurs ishining vazifasi pythonning matplotlib kutubxonasida matematik funksiyalar, diagramma, gistogramma, doirali diagramma va uch o’lchovli grafiklar chizish, ularni chizish uchun zarur bo’ladigan funksiyalar, funksiya xossalarini o’rganib, ulardan foydalanib hayotiy masalalarda qo’llash. 2

I-BOB Pythonda Matplotlib kutubxonasi 1.1. Pythonda matplotlib moduli va u bilan ishlash Agar sizda Python va PIP tizim allaqachon o'rnatilgan bo'lsa, Matplotlibni o'rnatish juda oson. Ushbu buyruq yordamida uni o'rnatish mumkin: С :\User\Your Name>pip install matplotlib Matplotlib o'rnatilgandan so'ng, quyidagi bayonotni qo'shish orqali uni ilovalaringizga import qilishingiz mumkin. import module Matplotlib versiyasi __version__ qatori atribut ostida saqlanadi. Versiya 2.1.1 - oxirgi barqaror versiya - Python 2.7 yoki 3.4 yoki undan keyingi versiyalari va NumPy 1.7.1 yoki undan keyingi versiyalarini talab qiladi. Matplotlib yordam dasturlarining aksariyati pyplot submodul ostida joylashgan va odatda plt taxallus ostida import qilinadi. Masalan: import matplotlib.pyplot as plt matplotlib ni import qilishning boshqa usulari ham mavjud. Import qilishning umumiy usulidan foydalaniz: Import matplotlib as * “*” belgisi qo’yilsa taxallusdan foydalanish shart emas shunchaki funksiyalarni yozish yetarli. Ammo bu usulda xatolar ha, uchrab turadi shuning uchun ushbu usul kam qo’llaniladi. 2.2 Pythonda matplotlib standart atributlar va metodlar x va y nuqtalarini chizish Funksiya plot() diagrammadagi nuqtalarni (markerlarni) chizish uchun ishlatiladi. plot() funksiya nuqtadan nuqtaga chiziq chizadi. Funksiya diagrammadagi nuqtalarni belgilash uchun parametrlarni oladi. 1 -parametr x o'qidagi nuqtalarni o'z ichiga olgan massivdir . 2 -parametr y o'qidagi nuqtalarni o'z ichiga olgan massivdir . X o'qi - gorizontal o'q. Y o'qi - vertikal o'q. Marker 3

Faqat markerlarni chizish uchun "uzuklar" degan ma'noni anglatuvchi "o" yorliq qatoridan foydalanish mumkin. Belgilangan marker bilan har bir nuqtani ko’rsatish uchun Marker kalit so'z argumentidan foydalanish mumkin. Siz markerni belgilash uchun yorliq satrini belgilash parametridan ham foydalanishingiz mumkin. Ushbu parametr ham fmt deyiladi va bu sintaksis bilan yoziladi. Marker qiymati yuqoridagi Marker ma'lumotnomasidan istalgan narsa bo'lishi mumkin. Har bir nuqtani yulduzcha bilan belgilash uchun marker kalit so’ziga “*” belgisini ta’minlash zarur. plt.plot(ypoints, marker = '*') Marker Tavsif 'o' Aylana '*' Yulduzcha '.' nuqta ',' piksel 'x' X 'X' X (to’ldirilgan) '+' plyus 'P' Plyus(to’ldirilgan) 's' To’rtburchak 'D' Olmos shakli 'd' Olmos shakli(to’ldirilgan) 'p' Beshburchak 'H' Oltiburchak 'h' Oltiburchak 'v' Uchburchak pastki '^' Uchburchak ustki '<' Uchburchak o’ng '>' Uchburchak chap '1' Tri Down '2' Tri Up '3' Tri Left '4' Tri Reight '|' Vline '_' Hline Markerlar o'lchamini belgilash uchun kalit so'z argumenti markersize yoki qisqaroq versiyadan foydalanishingiz mumkin. Markerlar chetining rangini 4

belgilash uchun kalit so'z argumenti markeredgecolor yoki undan qisqaroq so'zdan foydalanishingiz mumkin. Butun markerni rang berish uchun ikkala va mecmfc argumentlardan foydalaning. Marker rangi Markerlar chetining rangini belgilash uchun kalit so'z argumenti markeredgecolor yoki undan qisqaroq so'z “mec” dan foydalanish mumkin Rang belgisi Tavsifi red Qizil g Yashil b Ko’k c Zangori m To’q pushti y Sariq k qora w oq Siz rang xaritasini kalit so'z argumenti cmap bilan rang xaritasining qiymati bilan belgilashingiz mumkin, bu holda 'viridis' Matplotlibda mavjud bo'lgan ichki rang xaritalaridan biri. Siz quyidagi plt.colorbar() bayonotni qo'shish orqali rasmga rang xaritasini kiritishingiz mumkin: Marker hajmi Markerlar hajmini markersize yoli qisqaroq ms kalit so’zlar yordamida berish mumkin. Xuddi ranglar kabi, o'lchamlar uchun massiv x va y o'qlari uchun massivlar bilan bir xil uzunlikka ega ekanligiga ishonch hosil qiling Chiziqlar Chizilgan chiziq uslubini o'zgartirish uchun argument linestyle yoki undan qisqaroq ls kalit so'zdan foydalanishingiz mumkin. Chiziq uslubi qisqaroq sintaksisda yozilishi mumkin ular quyidagicha: 1. Linestyle sifatida yozish mumkin ls 2. Dotted sifatida yozish mumkin : 3. Dashed sifatida yozish mumkin -- Chiziq rangini o'rnatish uchun kalit so'z argumenti color yoki undan qisqaroq c so'zdan foydalanishingiz mumkin. Chiziq kengligini o'zgartirish uchun linewidth kalit so'z argumentidan yoki undan qisqaroq lw so'zdan 5