Maʼlumotlarni grafik tasvirlash. Maʼlumotlarni vizuallashtirish usullari (bar, pie, histogram, scatter).
Matplotlib - bu ma'lumotlarni vizualizatsiya qilish uchun Python kutubxonasi. 2D va 3D grafiklarni qo'llab-quvvatlaydi.
Grafiklarning asosiy turlari:
Grafik (line plot)
Tarqalish diogrammalari (scatter plot)
Ustunli diogrammalar (bar chart) va gistogrammalar (histogram)
Aylana diogrammalar (pie chart)
Magistral diogrammalar(stem plot)
Konturli grafiklar (contour plot)
Gradintlar maydoni (quiver)
Spektral diagrammalar (spectrogram
Grafik (line plot) - Matplotlibdagi eng muhim obyekt - bu rasm (metod plt.figure ()).Matplotlibda syujet yaratish shaklni belgilashni anglatadi.
Yaratilgan rasmlarni ekranda aks ettirish uchun plt.show () usulini chaqirishingiz mumkin. Yaratilgan barcha raqamlar ko'rsatiladi.
# Nuqta chizish
fig = plt.figure() / Figure ob'ektini yarating
plt.scatter(1.0, 1.0) / scatter - nuqtada markerni chizish usuli (1.0, 1.0)
plt.show()
Har qanday grafik buyruqni, ya'ni har qanday grafik ob'ektni yaratuvchi funktsiyani chaqirgandan so'ng, plt.scatter () yoki plt.plot (), har doim kamida bitta chizilgan maydon ichida mavjud bo’ladi.
Konteynerlari – rasm eng yuqori darajadagi konteynerdir. Boshqa barcha konteynerlar va grafik primitivlar unda joylashgan bo’ladi.
fig = plt.figure () # Figure ob'ektini yarating
print (fig.axes) /chizilgan maydonlar ro'yxati bo'sh
print (type(fig)) # ob'ekt turi va figurasi
plt.scatter(1.0, 1.0) # scatter – marker orqali nuqtada chizish usuli (1.0, 1.0)
/ Grafik elementini marker orqali chizish
print (fig.axes)
plt.show()
[]
[]
Chizma maydoni konteynerlari (Axes containers) - Axes - juda muhim konteyner, chunki foydalanuvchi ko'pincha u bilan ishlaydi. Axes-bu bir hududda joylashgan va konteyner ichidagi figura koordinatalar tizimini ishlab chiqish. Rasm va grafikdan tashqari barcha konteynerlar unda joylashgan. Bular rasmdagi grafiklar va diagrammalar joylashgan, tasvirlar kiritilgan va hokazo joylar. Axes - Ko'p oynali chizmalar maydonlar to'plamidan iborat .
# Har xil turdagi hududlar
fig = plt.figure()
# Chizmaga to'rtburchaklar (standart) chizma maydoni qo'shish
ax = fig.add_axes([0, 0, 1, 1])
print (type(ax))
plt.scatter(1.0, 1.0)
fig = plt.figure()
# Chizmaga dumaloq chizilgan maydon qo'shish
ax = fig.add_axes([0, 0, 1, 1], polar=True)
plt.scatter(0.0, 0.5)
plt.show()
# Oddiy funktsiya grafigi
import numpy as np
x = np.linspace(0, 5, 10) # 10 чисел от 0 до 5
y = x ** 2
plt.figure()
plt.plot(x, y, 'r')
plt.xlabel('x')
plt.ylabel('y')
plt.title('title')
plt.show()
# Harf yozish + Lateks
fig, ax = plt.subplots()
ax.plot(x, x**2, label=r"$y = \alpha^2$")
ax.plot(x, x**3, label=r"$y = \alpha^3$")
ax.set_xlabel(r'$\alpha$', fontsize=18)
ax.set_ylabel(r'$y$', fontsize=18)
ax.set_title('plot')
ax.legend(loc=2);
#2 - grafik pozitsiya
xs = np.linspace(0, 1, 20);
ys = np.sin(xs)
fig = plt.figure()
axes = fig.add_subplot(1,1,1)
axes.plot(xs, ys)
#Buni barcha o'qlar qo'shilgandan keyin chaqirish kerak
fig.tight_layout()
#fig.savefig('test.png')
# Bir nechta diagrammalar
# plt.subplots - bu shakl ob'ektini o'z ichiga olgan kortejni qaytaruvchi funksiya
fig, axes = plt.subplots(nrows=1, ncols=2)
for ax in axes:
ax.plot(x, y, 'r')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_title('title')
fig.tight_layout()
#grafik obyektning Seris va DataFram pandas moduli
import pandas as pd
ts = pd.Series(np.random.randn(100), index=pd.date_range('1/1/2018', periods=100))
ts = ts.cumsum()
ts.plot()
plt.show()
Do'stlaringiz bilan baham: |