Գծե՛ք չկառուցված եռանկյունաձև ցանց՝ որպես գծեր կամ նշիչներ Python-ում՝ օգտագործելով Matplotlib
Python-ը հանրաճանաչ ծրագրավորման լեզու է: Այն առաջարկում է գործիքների և գրադարանների լայն տեսականի, որոնք կարող են օգտագործվել տարբեր խնդիրներ լուծելու համար, որոնցից մեկը Matplotlib-ն է: Այս գրադարանը տրամադրում է տարբեր գործառույթներ տվյալների արտացոլման և տարբեր սյուժեներ ստեղծելու համար: Այս հոդվածում մենք կօգտագործենք Matplotlib-ը python-ում չկառուցված եռանկյուն ցանց նկարելու համար՝ որպես գծեր կամ մարկերներ:
Ինչ է Matplotlib-ը և ինչպես տեղադրել այն:
Matplotlib-ը python-ի գրադարաններից է։ Այս գրադարանը շատ ուժեղ գործիք է տվյալների վիզուալիզացիայի համար գրաֆիկներ գծելու նպատակին ծառայելու համար: Այն ունի «pyplot» անունով մոդուլ, որը հեշտացնում է գծագրությունը՝ ապահովելով տողերի ոճերը, տառատեսակների հատկությունները, ձևաչափման առանցքները և այլն կառավարելու հնարավորություններ: Այն կարող է նաև ինտեգրվել այլ գրադարանների հետ, ինչպիսիք են numpy-ը, որը հայտնի է python-ում թվային հաշվարկներով: .
Դուք կարող եք տեղադրել այս գրադարանը ձեր համակարգում՝ հրամանի տողում հրաման փոխանցելով «pip install matplotlib»:
Գրադարանը ձեր համակարգում տեղադրելուց հետո կարող եք ներմուծել այն ձեր կոդում՝ առաջարկվող գործառույթներից օգտվելու համար: Քանի որ մենք պետք է գծենք չկառուցված եռանկյուն ցանց, matplotlib-ը դրա համար ունի մի քանի գործառույթ, ինչպիսիք են triplot() և plot_trisurf() և այլն:
Ի՞նչ է չկառուցված եռանկյուն ցանցը:
Չկառուցված եռանկյուն ցանցը լայնորեն օգտագործվում է տարբեր համակարգեր հասկանալու համար, ինչպիսիք են հաշվողական մոդելավորումը, սիմուլյացիան, որտեղ տվյալները բարդ են և պետք է լուծվեն հիմքում ընկած հայեցակարգը հասկանալու համար:
Այսպիսով, չկառուցված եռանկյուն ցանցն ինքնին էվկլիդյան հարթությունը տարբեր ձևերի բաժանելու միջոց է, ինչպիսիք են եռանկյունները և քառանկյունները՝ առանց կանոնավոր օրինակին հետևելու: Այսպիսով, դուք կարող եք օգտագործել այն բարդ տվյալներ պատկերացնելու համար:
Հիմա ի՞նչ են նշանակում տողեր կամ նշիչներ այստեղ: Գծերը կամ մարկերները դրա մի մասն են, դրանք ցույց են տալիս, թե ինչպես է ցանցը ներկայացված սյուժեում: Գծերը կապում են եռանկյունների գագաթները ցանցում և, հետևաբար, ապահովում են ցանցի եռանկյունների սահմանների տեսողական ներկայացում, մինչդեռ նշիչները ներկայացնում են ցանցի եռանկյունների գագաթները:
Օրինակ
Եկեք գծենք չկառուցված եռանկյուն ցանց՝ օգտագործելով matplotlib python-ում:
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.tri as tri
# for generating random points
ran_points = 80
x = np.random.rand(ran_points)
y = np.random.rand(ran_points)
# triangulation of the points
triangle_point = tri.Triangulation(x, y)
# Plot the triangulation with markers
plt.triplot(triangle_point, 'bo-', lw=1)
plt.title('Unstructured Triangular Grid')
plt.show()
Արդյունք
Օրինակ
Այստեղ մենք ներմուծել ենք երեք գրադարան, և կոդը մնում է նույնը: Դուք փոփոխություններ եք կատարում եռանկյուն ցանցում:
Եռանկյունաձև ցանցի գծագրման վերջին տողում մենք օգտագործել ենք «plt.tricontourf(tri, արժեքներ)»՝ լցված ուրվագիծը ստեղծելու համար:
Tricontourf() ֆունկցիան օգտագործում է գծային գնահատված արժեքներ յուրաքանչյուր եռանկյան գագաթներում հաշվարկելու համար, այնուհետև եռանկյունները լրացնում է համապատասխան արժեքի գույնով:
Այնուհետև օգտագործվում է 'plt.triplot(tri, marker='2', markersize=3, linestyle='-', color='k')' ֆունկցիան, որը ծածկում է ուրվագծային գծապատկերի վերևում գտնվող եռանկյունաձև ցանցը որպես սև գծեր: օգտագործելով տրիպլոտ:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.tri as mtri
# for generating random points
ranpoints = 30
x = np.random.rand(ranpoints)
y = np.random.rand(ranpoints)
tri = mtri.Triangulation(x, y)
# Generate random values to color the triangles
values = np.random.rand(ranpoints)
# Plot the triangular grid
plt.tricontourf(tri, values)
plt.triplot(tri, marker='2', markersize=3, linestyle='-', color='k')
plt.show()
Արդյունք
Ընդհանուր սխալներ
Դուք կարող եք հանդիպել որոշ ընդհանուր սխալների՝ matplotlib-ի միջոցով չկառուցված եռանկյունաձև ցանցեր գծելիս: Տեսնենք դրանցից մի քանիսը յուրաքանչյուրի լուծմամբ:
-
ValueError. Դուք կարող եք հանդիպել այս սխալի հետ, եթե եռանկյունաձև կոնստրուկտորին փոխանցված x և y զանգվածների երկարությունը հավասար չեն: Այս սխալը շտկելու համար փորձեք յուրաքանչյուրի համար տեղադրել նույն քանակությամբ տարրեր:
AttributeError. Այս սխալը կարող է առաջանալ, երբ get_masked_triangles օգտագործվում են եռանկյունավորման օբյեկտի վրա, որը չունի դիմակ: Այս սխալը շտկելու համար դուք պետք է դիմակ սահմանեք եռանկյունացման օբյեկտի համար՝ օգտագործելով triang.set_mask մեթոդը:
TypeError. Եթե փորձում եք մուտք գործել float օբյեկտի տարր՝ օգտագործելով ենթատեքստային նշումը: Դրանից խուսափելու համար դուք պետք է համոզվեք, որ հասանելի փոփոխականը զանգված կամ ցուցակ է:
ValueError. Երրորդ արգումենտը պետք է լինի ֆորմատի տող. այս սխալը կարող է առաջանալ, երբ տրիպլոտ() ֆունկցիային փոխանցված ֆորմատի տողը վավեր չէ: Այս սխալից խուսափելու համար ձևաչափի տողը պետք է լինի վավեր matplotlib տողի ոճի ձևաչափ:
Եզրակացություն
Այս հոդվածում մենք գծել ենք տարբեր չկառուցված եռանկյունաձև ցանցեր՝ որպես նշիչներ կամ գծեր՝ օգտագործելով matplotlib: Մենք հոդվածը սկսել ենք հիմունքներից, այսինքն՝ բացատրելով, թե ինչ է matplotlib-ը և այն ֆունկցիաները, որոնք կօգտագործվեն չկառուցված եռանկյուն ցանց գծելու համար:
Հակիրճ բացատրություն է տրվում չկառուցված եռանկյուն ցանցի և դրա օգտագործման վերաբերյալ: Օգտագործելով Matplotlib գրադարանի տարբեր գործառույթներ՝ մենք գծել ենք ցանցը։ Սա ցույց է տալիս, թե որքան հզոր և օգտակար են python գրադարանները՝ տվյալների վիզուալիզացիայի միջոցով բարդ տվյալների պարզեցման համար: