Ֆունկցիաների գրաֆիկների կառուցումը Python-ում. “Matplotlib”
Ծրագրավորման լեզուներ
Matplotlib
-ը Python
-ում ցածր մակարդակի գծապատկերային գրադարան է, որը ծառայում է որպես վիզուալիզացիայի օգտակար գործիք: Այն ստեղծվել է John D. Hunter
-ի կողմից: Matplotlib
-ը բաց կոդ է, և մենք կարող ենք ազատորեն օգտագործել այն: Հիմնականում գրված է Python
-ով, իսկ որոշ հատվածներ գրված ենC
-ով, Objective-C
-ով և Javascript
-ով՝ պլատֆորմի համատեղելիության համար:
Եթե Ձեր համակարգում արդեն ներբեռնել եք Python
և PIP
, Matplotlib
-ի տեղադրումը հեշտորեն կկարողանաք իրականացնել հետևյալ հրամանի օգնությամբ.
C:\Users\Your Name>pip install matplotlib
Matplotlib
-ի utility
-ների մեծ մասը գտնվում են pyplot
ենթամոդուլի տակ և սովորաբար ներմուծվում են plt
կեղծանունով։
import matplotlib.pyplot as plt
Այժմ Pyplot package
-ը կարելի է անվանել plt
:
X և Y կետերի գծագրում
Իսկ այժմ փորձենք կատարել X
և Y
կետերի գծագրում՝ հետևյալ պայմաններով և հերթականությամբ։
Նախ, plot()
ֆունկցիան օգտագործում ենք դիագրամում կետեր գծելու համար. այն լռելյայնորեն գիծ է տանում մեկ կետից դեպի մյուսը, այնուհետև ստանում է արգումենտներ՝ դիագրամում կետերը նշելու համար։ Այստեղ 1-ին պարամետրը x
առանցքի կետերը պարունակող զանգվածն է, իսկ 2
–րդ պարամետրը՝ y
առանցքի կետերը պարունակող զանգվածը:
Եթե մեզ անհրաժեշտ է գծել գիծ (1, 3)
-ից մինչև (8, 10)
կետ, ապա պետք է երկու զանգված՝ [1, 8]
և [3, 10]
փոխանցել գծապատկերային ֆունկցիային։
Առաջին օրինակի գծապատկերում գծենք (1, 2)
կոորդինատներով կետ այսպես՝
import matplotlib.pyplot as pltxpoint = [1]
ypoint = [2]plt.plot(xpoint, ypoint, ‘o’)
plt.show()՝
Իսկ թե ինչ է ‘o’
-ն՝ կդիտարկենք մի փոքր ուշ։
Երկրորդ օրինակում եկեք դիագրամում գծենք գիծ՝ (1, 3)
դիրքից մինչև (8, 10)
:
Դա կանենք այսպես՝
import matplotlib.pyplot as plt
import numpy as npxpoints = np.array([1, 8])
ypoints = np.array([3, 10])plt.plot(xpoints, ypoints)
plt.show()
Մենք կարող ենք շարունակել գծել այնքան կետ, որքան ցանկանում ենք, անհրաժեշտ է միայն համոզվել, որ նույն թվով կետեր երկու առանցքներում էլ առկա են:
Երրորդ օրինակում եկեք դիագրամում գիծ գծեք (1, 2)
, (3, 5)
, (7, 2)
և (10, 9)
կետերով ահա այսպես՝
import matplotlib.pyplot as plt
import numpy as npxpoints = np.array([1, 3, 7, 10])
ypoints = np.array([2, 5, 2, 9])plt.plot(xpoints, ypoints)
plt.show()
Հարկ է նշել, որ x
առանցքի կետերը չնշելու դեպքում, դրանք կստանան 0, 1, 2, … , n
լռելյայն արժեքները՝ կախված y
կետերի երկարությունից։
Այսինքն, եթե վերցնենք վերևում նշված օրինակը և բաց թողնենք X
կետերը, ապա դիագրամը կունենա հետևյալ տեսքը՝
import matplotlib.pyplot as plt
import numpy as npypoints = np.array([2, 5, 2, 9])plt.plot(ypoints)
plt.show()
Յուրաքանչյուր կետի տեսքը փոփոխելու համար մենք կարող ենք օգտագործել նաև marker
արգումենտը։
Դա անելու համար վերցնենք նախորդ օրինակն ու փոքր-ինչ փոփոխենք։
…
plt.plot(ypoints, marker = ‘o’)
…
Մարկերներ ընտրելիս կարող եք օգտվել հետևյալ աղյուսակից՝
Իսկ այժմ եկեք մի փոքր խոսենք նաևFormat String
-ների մասին, քանի որ մենք կարող ենք օգտագործել Shortcut String Notation
-ը՝ մարկերը և/կամ գիծը փոփոխելու համար:
Այս պարամետրը կոչվում է նաև fmt
և գրվում է հետևյալ կերպ՝
մարկեր |գիծ |գույն
Ֆորմատավորված տողերի մասին ավելի մանրամասն կարդացեք այստեղ։
…
plt.plot(ypoints, ‘o:r’)
…
Ահա մեկ օրինակ ևս՝ մարկերների չափերը սահմանելու համար, մենք կարող եք օգտագործել markersize
հիմնաբառը կամ ավելի կարճ տարբերակը՝ ms
:
Եկեք սահմանենք 20
չափանոց մարկեր՝
…
plt.plot(ypoints, marker = ‘o’, ms = 20)
…
Դիագրամում դա կունենա հետևյալ տեսքը՝
Արդեն մարկերների եզրերի (edge)
գույնը սահմանելու համար կարող ենք օգտագործել markeredgecolor
(կամ mec
) արգումենտը, իսկ մարկերի մարմինը (face)
փոփոխելու համար՝ օգտագործել markerfacecolor
(կամ mfc
)-ը։ Հարկ է նշել, որ դա կարող ենք անել՝ օգտագործելով նաև Hexadecimal գույնի արժեքները:
Այժմ եկեք փորձենք դարձնել մարկերների եզրագծերը կարմիր, իսկ մարմնի գույնը՝ բաց կանաչ։
Դա կանենք այսպես՝
…
plt.plot(ypoints, marker = ‘o’, ms = 20, mec = ‘r’, mfc = ‘#DAF7A6’)
…
Գծի գույնը փոփոխելու համար կարող եք օգտագործել color
կամ c
արգումենտը այսպես՝
…
plt.plot(ypoints, c = ‘g’)
…
Իսկ գծի լայնությունը փոփոխելու համար պետք է օգտագործենք linewidth
կամ lw
արգումենտը, ինչպես այս օրինակում՝
…
plt.plot(ypoints, linewidth = ‘20.5’)
…
Մեկ նկարում միաժամանակ մի քանի դիաֆրագմա նկարելու համար կօգտվենք Subplot()
ֆունկցիայից այսպես՝
import matplotlib.pyplot as plt
import numpy as np#plot 1:
x = np.array([0, 2, 4, 6])
y = np.array([3, 8, 1, 12])plt.subplot(1, 5, 1)
plt.plot(x,y)
plt.title(“SALES”)#plot 2:
x = np.array([0, 6, 12, 18])
y = np.array([10, 20, 30, 40])plt.subplot(1, 2, 2)
plt.plot(x,y)
plt.title(“INCOME”)plt.show()
plt.subplot(1, 5, 1)
#նկարն ունի 1 տող, 5 սյունակ, և այս դիաֆրագման առաջինն է։plt.subplot(1, 2, 2)
#նկարն ունի 1 տող, 2 սյունակ, և այս դիաֆրագման երկրորդն է։plt.title(‘d_name’)
#տալիս է դիաֆրագմային անուն
Pyplot
- ը մեզ հնարավորություն է տալիս նաև օգտագործել bar()
ֆունկցիան՝ հիստոգրամներ (bars)
պատկերելու համար:
Դիտարկենք այդպիսի մի օրինակ ստորև՝
import matplotlib.pyplot as plt
import numpy as npx = np.array([“A”, “B”, “C”, “D”])
y = np.array([3, 8, 1, 10])plt.bar(x, y, color = ‘green’)
plt.show()
color
- փոխում է ձողերի գույնըwidth
- փոխում է ձողերի լայնությունըheight
- փոխում է ձողերի բարձրությունը
Հետաքրքիր կոդերի ևս մի քանի օրինակների կարող եք ծանոթանալ ներքևում՝
import matplotlib.pyplot as plt
import numpy as npy = np.array([20, 30, 40, 10])plt.pie(y)
plt.show()
import matplotlib.pyplot as plt
import numpy as npx = np.random.normal(200, 10, 150)plt.hist(x)
plt.show()
import matplotlib.pyplot as plt
import numpy as npx = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y)x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y)plt.show()
Հոդվածը կազմվել է հիմնվելով այս տեղեկատվության վրա։