Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Vizatim svg html. SVG: bazat e grafikës vektoriale në HTML

Ky konkluzion del nga raporti i kryetarit të bordit të “Bashneft”, i shpallur në mbledhjen e përgjithshme të aksionerëve të kompanisë, një kopje e të cilit ishte në dispozicion të redaksive.

Nga dokumenti rezulton se si rezultat i kërkimeve gjeologjike, në vitin 2018 janë zbuluar 81 vendburime prodhuese me rezerva prej 19 milionë tonësh.

Në të njëjtën kohë, përdorimi i masave shumë efektive gjeologjike dhe teknike dhe futja e teknologjive moderne për rikuperimin e zgjeruar të naftës bënë të mundur ruajtjen e prodhimit të naftës në fushat e pjekura në Bashkiria në nivelin e 2017 prej 15 milion ton deri në fund të 11 muajve. . Vëllimi i përgjithshëm i prodhimit për periudhën e specifikuar arriti në 17.3 milion ton naftë.

Raporti gjithashtu vë në dukje se krijimi i një zinxhiri të vetëm prodhimi me kompleksin e prodhimit dhe përpunimit të Rosneft ka rritur efikasitetin e rafinerive Ufa dhe ka çuar në një ulje të kostove operative dhe logjistike. Në veçanti, u përvetësua prodhimi i benzinës Euro-6 dhe filloi prodhimi industrial i bitumit rrugor sipas GOST-it të ri.

Vëllimi i shitjeve me pakicë në pikat e karburantit të Bashneft për 11 muajt e vitit 2018 u rrit me 13,2 për qind krahasuar me të njëjtën periudhë të vitit të kaluar dhe arriti në 1,7 milionë tonë.

Për zbatimin e strategjisë në fushën e petrokimikeve po modernizohet prodhimi petrokimik. Pra, në maj 2018, Ufaorgsintez porositi një njësi të re për prodhimin e kumenit - një lëndë e parë për prodhimin e bojrave, tretësve, polimerëve të ndryshëm të përdorur në industrinë e automobilave, mjekësisë dhe farmakologjisë. Hapi tjetër është rindërtimi i kompleksit të prodhimit të aromatikëve në Ufaneftekhim, ndërtimi i instalimeve të reja për prodhimin e olefinave në Ufaorgsintez.

Fitimi i konsoliduar operativ për 9 muajt e vitit 2018 u rrit me 22.6 për qind krahasuar me të njëjtën periudhë të vitit 2017 dhe arriti në 135.5 miliardë rubla. Fitimi neto i Bashneft arriti në 74.6 miliardë rubla, që është 73.5 për qind më shumë se e njëjta periudhë e vitit të kaluar.

Gjatë tremujorit të tretë, Bashneft u pagoi aksionarëve dividentët e shpallur në mbledhjen vjetore në qershor 2018 në shumën prej 28.2 miliardë rubla, dhe shuma totale e dividentëve të paguar që nga fillimi i vitit arriti në 43 miliardë rubla.

Në të njëjtën kohë, niveli i borxhit neto të kompanisë u ul dhe më 30 shtator 2018 arriti në 40.1 miliardë rubla (në të njëjtën datë në 2017, kjo shifër ishte 104.7 miliardë rubla).

Në të njëjtën kohë, për periudhën raportuese, pagesat e taksave në buxhetin e Bashkortostanit, duke marrë parasysh një pagesë një herë të tatimit mbi të ardhurat, u rritën me 1.5 herë në krahasim me të njëjtën periudhë të vitit të kaluar dhe arritën në 50.5 miliardë rubla.

Shumica e faqeve të internetit përmbajnë grafikë. Kjo ju lejon të paraqisni informacione me ngjyra dhe qartë. Në shumë raste, është më mirë të tregosh një foto sesa të japësh një përshkrim të gjatë teksti.
Ka dy mënyra për të vendosur grafikë në një faqe:

  • futja e fotografive individuale;
  • duke mbushur sfondin me një foto.

Në çdo rast, grafiku merret nga skedari.

Një imazh grafik nga një skedar i formatit grafik futet në faqe duke përdorur etiketën (nga anglishtja, imazh - imazh) duke specifikuar adresën e skedarit si një argument për atributin SRC:

Adresa e skedarit të imazhit është ose një URL ose një emër skedari, ndoshta me një shteg. Për shembull, për të shfaqur skedarin grafik logotip.jpg, shkruani etiketën

Për të rritur shpejtësinë e biteve të një imazhi grafik në një etiketë ju mund të përdorni atributin (opsionale) LOWSRC, i cili merr adresën e një skedari grafik si argument. Mund të krijoni dy skedarë imazhesh: një (për shembull, le të themi logotip.jpg) përmban një imazh me rezolucion të lartë dhe një tjetër (për shembull, logotip.gif) përmban një imazh me rezolucion të ulët. Pastaj etiketa

I thotë shfletuesit që fillimisht të shkarkojë skedarin logotip.gif dhe më pas ta zëvendësojë me skedarin logotip.jpg pasi të merret.
Një mënyrë tjetër për të shpejtuar ngarkimin e grafikëve është të përmasoni zonën drejtkëndore në të cilën do të vendoset grafika duke përdorur atributet WIDTH (gjerësi) dhe HEIGHT (lartësi), të matura në pixel. Nëse specifikoni këto atribute, shfletuesi së pari do të ndajë hapësirë ​​për grafikët, do të përgatisë paraqitjen e dokumentit, do të shfaqë tekstin dhe vetëm më pas do të ngarkojë grafikën. Vini re se shfletuesi zvogëlon ose shtrin imazhin për t'iu përshtatur kornizave të madhësisë së specifikuar. Një shembull i përcaktimit të madhësisë së një imazhi:

Grafikat zakonisht përdoren në lidhje me tekstin, kështu që lind detyra për të përafruar tekstin dhe grafikën. Kjo detyrë realizohet duke përdorur atributin RRESHTOJ etiketë duke përdorur argumente të ndryshme. Për shembull, ne mund të dëshirojmë që teksti të rrjedhë rreth imazhit djathtas ose majtas. Zakonisht fotografia është e ngulitur afër tekstit, e cila mund të jetë e shëmtuar. Për të shmangur këtë, mund të vendosni margjina boshe rreth ilustrimit. Fushat krijohen duke përdorur atribute VSPACE për kufijtë e sipërm dhe të poshtëm dhe NSSPACE për margjinat anësore në etiketë ... Argumentet për këto atribute specifikohen si numra që përcaktojnë madhësinë e margjinave në piksel. Për të anuluar rrjedhën e tekstit rreth grafikës, përdorni etiketën
.
Etiketa e mëposhtme vendos rrjedhën e grafikëve nga skedari logotip.jpg në të djathtë (fotografia do të jetë në të majtë të tekstit):

Nëse dëshironi ta poziciononi figurën në të djathtë të tekstit, atëherë ju nevojitet atributi RRESHTOJ caktoni një argument E DREJTË:

Për të vendosur fushat rreth figurës, duhet të shkruani një etiketë si kjo:

Këtu numrat 20 dhe 10 përcaktojnë madhësinë e fushave.
Le të shqyrtojmë një shembull të ndarjes së grafikëve dhe teksteve. Hapni Notepad (redaktues teksti të Notepad) Windows. Shkruani kodin HTML në të duke përdorur etiketat e diskutuara më sipër. Më poshtë është një program që nxjerr disa tekst dhe grafikë. Çdo skedar që keni mund të përdoret si skedar grafik. Kjo përdor skedarin logotip.gif.


Ushtrimi 1



<Н1>Teksti mbështillet rreth grafikëve në të djathtë
Ky është një shembull i kombinimit të tekstit dhe grafikës.
Teksti i programit HTML mund të shkruhet në çdo redaktues teksti. Kjo përdor etiketat e shënimit të tekstit.

Ky tekst shfaqet me një paragraf të ri. Për ta bërë këtë, ne kemi përdorur një etiketë të veçantë.


Provoni të ndryshoni madhësinë e dritares së shfletuesit tuaj. Vini re se si ndryshon faqosja e tekstit.

Oriz. 657. Teksti mbështillet rreth figurës në të djathtë

Mundësi të shumta për pozicionimin e saktë të imazheve (si dhe elementeve të tjera) në faqe ofrojnë tabelat dhe stilet... Këto elemente HTML do të diskutohen më vonë. Për shembull, mund të përcaktoni një tabelë pa korniza të dukshme dhe të vendosni fotografi, tekste dhe elementë të tjerë në qelizat e kësaj tabele.

SVG (Scalable Vector Graphics) është një standard i grafikës vektoriale i zhvilluar nga konsorciumi W3C.

SVG është një gjuhë shënjimi për përshkrimin e aplikacioneve dhe imazheve grafike 2D dhe është një nëngrup i gjuhës së shënjimit të zgjeruar XML. Kjo përfshin gjithashtu një numër skriptesh grafike të lidhura.

SVG mbështetet nga të gjithë shfletuesit modernë për PC dhe celularë. Disa veçori të tilla si animacioni SMIL dhe Fontet SVG nuk përdoren gjerësisht.

Versioni i fundit i specifikimit të plotë është SVG 1.1.

SVG 2 është në zhvillim e sipër. Ai do të shtojë veçori të reja, të lehta për t'u përdorur për SVG dhe do të punojë në një integrim më të ngushtë me HTML, CSS dhe DOM.

Virtytet e SVG

  • Grafikat SVG krijohen duke përdorur formula matematikore që mund të rregullohen kur imazhi ndryshohet. Kështu, imazhet vektoriale janë shkallëzuar më mirë se imazhet raster.
  • Madhësia e një imazhi vektor është zakonisht më e vogël se imazhet me cilësi të krahasueshme JPEG, GIF ose PNG.
  • Grafikat SVG kanë një format teksti që mund të modifikohet në një bllok shënimesh dhe të vizatohet në redaktuesit e vektorit grafik Adobe Illustrator, CorelDRAW.
  • Skriptimi dhe animacioni në SVG ju lejon të krijoni grafika dinamike dhe ndërvepruese.
  • Teksti në grafikat SVG është tekst, jo imazh, prandaj është i indeksuar nga motorët e kërkimit.
  • Lidhje të shumta mund të shtohen në një imazh SVG.
  • Mund të lidhni fletë stilesh të jashtme CSS me formatin SVG, stile globale brenda kontejnerit ose shtoni stile inline duke përdorur atributin stil në etiketat e formës dhe rrugës.

Futja e SVG në një faqe interneti

Një imazh SVG mund të futet në një faqe interneti në disa mënyra. E para është futja e thjeshtë e kodit SVG në faqe (me një imazh të madh, kodi HTML i faqes do të bëhet i madh dhe i vështirë për t'u lexuar). Me metoda të tjera, së pari duhet të ruani kodin SVG në një skedar me shtesë .svg.

Pra, këtu janë mënyrat për të futur një imazh SVG në një faqe interneti:

  • futja e drejtpërdrejtë e kodit në dokumentin HTML në kontejner ... ;
  • duke përdorur një skedar SVG si një imazh në sfond;
  • lidhja e një skedari SVG me një dokument HTML duke përdorur etiketa img, ngulit, Objekt dhe iframe;
  • lidhja e një skedari SVG me një dokument PHP duke përdorur një funksion përfshijnë.
1. Futja e drejtpërdrejtë e kodit SVG në një dokument Web
2. Përdorimi i skedarit SVG si imazh i sfondit
3. Lidhja e skedarit SVG duke përdorur etiketën img
4. Përfshirja e skedarit SVG duke përdorur etiketën e ngulitjes
5. Lidhja e skedarit SVG duke përdorur etiketën e objektit
6. Përfshirja e skedarit SVG duke përdorur etiketën iframe
7. Përfshirja e skedarit SVG duke përdorur funksionin e përfshirjes

Sistemi i koordinatave

Dimensionet dhe koordinatat mund të specifikohen në njësi të ndryshme (px, pt, pc, cm, mm, em, in). Nëse njësitë nuk janë të specifikuara, atëherë ato janë pikselë.

Origjina e koordinatave është këndi i sipërm i majtë i ekranit, d.m.th.

Elementet bazë SVG

Shembull goditje-dasharray Alternimi i goditjeve dhe hapësirave në një vijë të ndërprerë Shembull stroke-dashoffset Shembull i kompensimit të dashit mbush Ngjyra e mbushjes (asnjë - pa mbushje) mbush-opacity Mbushja e transparencës (0 deri në 1) rregull-mbushje Rregulli i mbushjes.
Vlerat e mundshme të atributeve: stil Stili i elementit klasës Klasa e elementeve

Vijë e drejtë

Specifikuar nga etiketa .

Atributet e etiketimit
Shembull

REZULTATI:

Vijë e thyer

Specifikuar nga etiketa .

Atributi i etiketës
Shembull

REZULTATI:

Shumëkëndëshi

Specifikuar nga etiketa ... Vizaton gjithmonë forma të mbyllura duke tërhequr automatikisht një vijë nga fundi i segmentit të rreshtit të fundit deri në fillim të të parit.

Atributi i etiketës
Shembull

REZULTATI:

Drejtkëndësh

Specifikuar nga etiketa .

Atributet e etiketimit
Shembull

REZULTATI:

Një rreth

Specifikuar nga etiketa .

Atributet e etiketimit
Shembull

REZULTATI:

Trajektore e vështirë

Specifikuar nga etiketa ... Është më i gjithanshëm nga elementët SVG. Ju lejon të krijoni forma të personalizuara. Forma e figurës përcaktohet nga atributet d vlera e të cilit është një grup komandash të veçanta. Këto komanda mund të jenë në shkronja të mëdha dhe të vogla. Shkronjat e mëdha tregojnë se është aplikuar pozicionimi absolut, shkronjat e vogla tregojnë pozicionimin relativ.

Komandat për përcaktimin e rrugës dhe drejtimit të vijës kaçurrelë
M, m pikënisje
Mx, y
L, l Segmenti i linjës
Lx, y
H, h Vije horizontale
Hx, y ose hx
V, v Vija vertikale
Vx, y ose vy
A, a Harku i elipsit
Arx, ry x-aks-rotation big-harc-flag, spare-flag x, y
rx, ry- rrezet e harkut të elipsit;
x-bosht-rotacion- këndi i rrotullimit të harkut në lidhje me boshtin X;
flamur me hark të madh- nëse (= 1), atëherë është ndërtuar një pjesë e madhe e harkut, nëse (= 0) - një pjesë më e vogël;
spastrim-flamur- nëse (= 1), atëherë harku vizatohet në drejtim të akrepave të orës, nëse (= 0) - në drejtim të kundërt;
x, y- koordinatat e pikës fundore të harkut.
C, c Kurba Kubike Bezier
Cx1, y1 x2, y2 x, y
x1, y1- koordinatat e pikës së parë të kontrollit;
x2, y2
x, y
S, s Kurba e lëmuar kubike Bezier
Sx2, y2 x, y
x2, y2- koordinatat e pikës së dytë të kontrollit;
x, y
Pika e parë e kontrollit është një imazh pasqyrë i pikës së dytë të kontrollit.
Q, q Kurba kuadratike e Bezier-it
Qx1, y1 x, y
x1, y1- koordinatat e pikës së kontrollit;
x, y- koordinatat e pikës fundore të lakores.
T, t Kurba e lëmuar kuadratike e Bezier-it
Qx1, y1 x, y
x, y- koordinatat e pikës fundore të lakores.
Pika e kontrollit të kësaj komande është një imazh pasqyrë i pikës së kontrollit të komandës së mëparshme.
Z, z Mbyllja e një rruge
Shembull

REZULTATI:



.

Për të përfshirë një imazh në një vend të caktuar në faqe, ekziston një etiketë ... Ky etiketë ka një parametër të kërkuar: SRC = "", dhe disa opsionale. Parametri SRC = "" i tregon shfletuesit adresën ku duhet kërkuar fotografia dhe duhet të ketë si vlerë URL-në e burimit ku ndodhet skedari i figurës. Në rastin më të thjeshtë, ky skedar do të gjendet në direktorinë rrënjë ose në dosjen IMG të faqes tuaj. Parametrat opsionalë:

Parametri ALT = "" përmban një mbishkrim si një vlerë që tregon për përmbajtjen e imazhit për ata vizitorë, shfletuesit e të cilëve nuk mbështesin grafikë ose nuk punojnë në modalitetin grafikë të çaktivizuar. I njëjti mbishkrim shfaqet kur lëvizni treguesin e miut mbi imazh.

Parametrat WIDTH = "" HEIGHT = "" si vlera kanë dimensionet e figurës në gjerësi dhe lartësi në pixel. Këshillohet që këto parametra të specifikohen në kodin e faqes në mënyrë që shfletuesi të lërë hapësirë ​​për imazhin paraprakisht, atëherë, kur ngarkohet, faqja do të "dridhet" më pak. Përveç kësaj, këto parametra mund të përdoren për të rregulluar madhësinë e figurës në dritaren e shfletuesit.

Parametri BORDER = "" vizaton një kufi rreth imazhit. Vlera është një numër që tregon gjerësinë e kornizës në pixel.

Parametri ALIGN = përcakton pozicionin e imazhit në faqe dhe mund të marrë vlerat TOP - rreshton kufirin e sipërm të figurës me elementin më të lartë të linjës aktuale, TEXTTOP - rreshton kufirin e sipërm të figurës me më të lartën elementi i tekstit të linjës aktuale, MIDDLE - rreshton mesin e figurës me vijën bazë të linjës aktuale, ABSMIDDLE - rreshton mesin e figurës në mes të vijës aktuale. BASELINE ose BOTTOM - rreshton kufirin e poshtëm të figurës me vijën bazë të vijës aktuale, ABSBOTTOM - rreshton kufirin e poshtëm të figurës me kufirin e poshtëm të vijës aktuale, HSPACE = - përcakton dhëmbëzimin horizontal, VSPACE = - përcakton dhëmbëzimi vertikal.

Sintaksa e etiketës:

Tiker

Linja zvarritëse vendoset nga etiketa .

Atributet e kësaj etikete janë bgcolor - ngjyra e sfondit të vijës zvarritëse, lartësia - lartësia e linjës, gjerësia - gjerësia e linjës.

Drejtimi - përcakton drejtimin e lëvizjes së vijës zvarritëse - drejtimi = "majtas" (djathtas, lart, poshtë) - lëvizje në të majtë (djathtas, lart, poshtë).

Sjellja - sjellja e vargut - sjellja = "lëvizje" (rrëshqitje, alternative). Lëvizja - lëvizje normale (mund ta lini bosh, është si parazgjedhje)



Rrëshqitje - duke lëvizur me një ndalesë, linja shkon në skaj dhe ndalon. Nëse parametri i lakut përdoret njëkohësisht me behavor = "rrëshqitje", atëherë rreshti do të lëvizë numrin e caktuar të herëve dhe do të ndalet në skaj. Alternuar - vija do të lëvizë nga skaji në skaj.
Scrollamount - shpejtësia e linjës, scrollamount = "1". Mund të marrë vlera nga 1 në 10. 1 - lëvizja më e ngadaltë, 10 - më e shpejta.

Sintaksa e etiketës: teksti

Shfletuesit modernë të internetit mund të luajnë skedarë video dhe audio në një sërë formatesh. Për ta bërë këtë, ata përdorin lojtarë të integruar (plug-in, kontrollet ActiveX) ose programe të jashtme të luajtësit. Ju mund të futni audio ose video në një dokument HTML duke përdorur etiketa të ndryshme:

- për të futur tingullin e sfondit;

- për të futur video në formatin AVI;

- për të futur skedarë audio dhe video;

- për të futur skedarë audio dhe video.

Kur vendosni të futni zë dhe/ose video në një dokument HTML, mbani në mend se skedarët e përfshirë janë mjaft të mëdhenj. Skedarët më të njohur në ueb janë tani MP3, WMA, AIFF, AU, RealAudio (me shtesa ra dhe ram), formatet video MP4, MIDI dhe MPEG, MOV. Formati audio WAV dhe formati video AVI përdoren rrallë në internet.

(Rishikoni artikullin pas konferencës mbi zhvillimin e softuerit në Yekaterinburg dhe fjalime të tjera. Versioni video i raportit në Yekaterinburgshih në techdays.ru )

Çfarë janë HTML5 Canvas dhe SVG?

Kanavacë HTML5

- elementi është një kanavacë për paraqitjen e grafikëve bitmap. Në fakt, është një bllok bosh i dimensioneve të specifikuara që mund të vizatoni duke përdorur API të veçanta për JavaScript.

API përfshin 45 metoda speciale dhe 21 atribute të përdorura për shfaqjen e primitivëve grafikë, vendosjen e stileve, transformimet, aksesin në pikselë individualë, projektimin e imazheve dhe videove.

Veten time elementi përcaktohet drejtpërdrejt në specifikën HTML5. API për të përshkruhet në një dokument të veçantë - HTML Canvas 2D Context.

SVG

Muzika mund të jetë argëtuese

Lojë e bukur vizualizimi muzikor-grafik (http://musiccanbefun.edankwan.com/).

Shembuj të skemave SVG

Diagrami i skeletit të njeriut, sistemi periodik i elementeve kimike dhe sistemi i frymëmarrjes (http://ie.microsoft.com/testdrive/Graphics/RealWorldDataAndDiagrams/Default.xhtml).

Hartat Yandex

Një shembull më i afërt nga jeta reale - kur jepni rrugë, përdoret SVG (nëse shfletuesi mbështet). Shihni gjithashtu bisedën "Hartat dhe SVG" nga Kampi ynë HTML5.

Më shumë shembuj:

  • Beauty of the Web http://www.beautyofheweb.com/ - faqe reale nga bota reale
  • Zhvilluesi: i shkëputur http://contest.beautyoftheweb.com/ - projekte konkurruese për aplikacionet HTML5

Dallimi midis Canvas dhe SVG

Në skenarë të ndryshëm, për paraqitjen dinamike të grafikës, mund të jenë më të përshtatshmet ose Canvas ose SVG - ne do t'i kthehemi kësaj çështje në fund. Tani për tani, le të ndalemi në ndryshimet kryesore midis njërës dhe tjetrës:

Kanavacë SVG
Formati Raster Vektor
Shkallëzimi
Qasja

Qasje individuale në pixel (RGBA)

Qasja në elementë individualë (DOM)

Indeksueshmëria dhe aksesueshmëria

Vetëm rasteri përfundimtar është i dukshëm (nuk mund të zgjidhni forma, tekst, etj.) - keq për Aksesueshmërinë

Ju mund të shihni strukturën (për shembull, tërhiqni të gjithë tekstin)

Stilizimi

Stilet vizuale vendosen kur jepen përmes API-së

Stilet vizuale përcaktohen sipas atributeve, mund të përfshini CSS

Programimi

JS API për të punuar me primitivë

DOM për të punuar me elementë

Përditëso

Për të përditësuar - pikturë mbi ose rivizatuar plotësisht

Është e mundur të ndryshohen elementë individualë

Ngjarjet

Nuk ka asnjë mënyrë të lehtë për të trajtuar ngjarjet e miut. Objektet nën kursorin duhet të përcaktohen me dorë.

Ngjarjet nga miu përmes DOM-it mbyllen lehtësisht, përpunohen automatikisht.

Integrimi i kodit

Kodi JS i ndarë nga Canvas

Brenda mund të përfshini JS

Këto dallime duhet të merren parasysh kur përdoret një teknologji e caktuar për vizualizimin e të dhënave. Për shembull, vizatimi i një grafiku të një funksioni mund të jetë më i lehtë me Canvas, ndërsa shfaqja e këshillave të veglave (me përkufizimin e një objekti nën treguesin e miut) mund të jetë më e lehtë për t'u bërë me SVG.

Megjithatë, në praktikë, ka tashmë një numër bibliotekash të gatshme për vizualizimin e të dhënave që kompensojnë pjesërisht këto dallime.

Unë nuk do të hyj në bazat e punës me secilën prej teknologjive, rekomandoj fjalimin e Vadim Makeev (Opera) me Kampin HTML5 "Grafika Dinamike: Kanavacë dhe SVG" si një hyrje.

Shihni gjithashtu raportet MIX 2011:

Përpunimi i imazhit me kanavacë

Një nga veçoritë e dukshme të Canvas është se ai siguron qasje pixel-nga-pixel në të dhënat e shfaqura dhe lejon që elementë të ndryshëm grafikë, duke përfshirë videon, të projektohen në kanavacë.

Një shembull i mirë se ku nevojitet kjo është detyra e përpunimit / analizës së imazhit.

Processing.js ofron dy mënyra për të përshkruar vizualizimin: kodin e ndërmjetëm, i cili analizohet më tej nga vetë biblioteka (në një skedar të veçantë ose brenda një faqeje) dhe kodi i qartë JavaScript.

Për shembull, për të vizatuar një grup fraktali Mandelbrot, mund të përdorni ose opsionin e treguar në faqen me shembullin përkatës, ose kodin e mëposhtëm JavaScript:

var xmin = -2,5; var ymin = -2; var wh = 4; funksioni sketchProc (përpunim) (processing.setup = funksion () (processing.size (200, 200); processing.noLoop (););processing.draw = funksion () (processing.loadPixels ();var maxiterations = 200; var xmax = xmin + wh; var ymax = ymin + wh; var dx = (xmax - xmin) / (përpunimi. gjerësia); var dy = (ymax - ymin) / (përpunimi. lartësia); var y = ymin; për (var j = 0; j< processing.height; j++) { var x = xmin; for (var i = 0; i < processing.width; i++) { var a = x; var b = y; var n = 0; while (n < maxiterations) { var aa = a * a; var bb = b * b; var twoab = 2.0 * a * b; a = aa - bb + x; b = twoab + y; if (aa + bb >16.0) (pushim;) n ++; ) nëse (n == maksiterime) përpunim.pixels.setPixel (i + j * përpunimi.gjerësia, 0); else processing.pixels.setPixel (i + j * procesimi.gjerësia, përpunimi.ngjyra (n * 16% 255)); x + = dx; ) y + = dy; ) processing.updatePixels (); ); ) var canvas = document.getElementById ("myCanvas"); var p = Përpunim i ri (kanavacë, sketchProc);

Mund ta provoni vetë këtu: http://silverbook.ru/projects/html5datavisualization/demo3-processingjs.htm (kopjoni kodin, ngjiteni në tastierë dhe ekzekutoni).

JavaScript InfoVis Toolkit (JIT)

Për të shfaqur të dhënat, JIT merr vlerat fillestare si JSON:

var json = ("etiketa": ["etiketa A", "etiketa B", "etiketa C", "etiketa D"], "vlerat": [("etiketa": "data A", "vlerat":) , ("etiketa": "data B", "vlerat":), ("etiketa": "data E", "vlerat":), ("etiketa": "data F", "vlerat":), ( "label": "data D", "vlerat":), ("etiketa": "data C", "vlerat":)]); var pieChart = new $ jit.PieChart ((injectInto: "infovis", animate: true, offset: 30, sliceOffset: 0, labelOffset: 20, type: "stacked: gradient", showLabels: true, resizeLabels: 7, Label: (lloji: "Native", madhësia: 20, familja: "Arial", ngjyra: "e bardhë"), Këshilla: (aktivizo: e vërtetë, onShow: funksioni (tip, elem) (tip.innerHTML = " "+ elem.emri +": "+ elem.vlera;))));

thjesht interpretimi i telefonatave:

PieChart.loadJSON (json);

jQuery Sparklines

Renderimi në një hartë me SVG

Le të kalojmë në SVG dhe të fillojmë me një shembull të thjeshtë. Imagjinoni që ju duhet të shfaqni disa të dhëna në një hartë të rajoneve, cila është mënyra më e lehtë për ta bërë këtë?

Nëse keni një hartë të gatshme në formën e SVG (kam marrë një hartë të Rusisë nga faqja e Wikipedia), atëherë kjo bëhet shumë thjesht - mjafton që brenda dokumentit SVG çdo rajon të ketë ID-në e vet unike, atëherë futni hartën si svg inline dhe ngjyrosni atë me një kod të thjeshtë në ngjyrën e dëshiruar:

var SverdlovskOblast = document.getElementById ("SverdlovskOblast"); SverdlovskOblast.style.fill = "# fe3300";

Nëse bëni të njëjtën gjë në një cikël, atëherë tashmë mund të ngjyrosni jo vetëm rajonin, por të gjithë rajonin apo edhe të gjithë vendin:

var data = [(id: "KurganOblast", vlera: 30), (id: "SverdlovskOblast", vlera: 200), (id: "TyumenOblast", vlera: 75), (id: "KhantiaMansia", vlera: 100 ), (id: "YamaloNenetsAutDistrict", vlera: 20), (id: "ChelyabinskOblast", vlera: 150)]; për (var i = 0; i< data.length; i++) { var item = data[i]; var region = document.getElementById(item.id); region.style.fill = RGBtoHex(item.value, 0, 0); }

Bibliotekat për vizualizimin e të dhënave me SVG

Siç thashë, si Canvas ashtu edhe SVG janë të përshtatshme për zgjidhjen e problemit tradicional të vizualizimit të të dhënave numerike në formën e grafikëve dhe grafikëve. Në të dyja rastet, kjo mund të bëhet mjaft lehtë duke përdorur bibliotekat e duhura.

Ne kemi parë tashmë shembuj me Canvas, le të shohim tani disa biblioteka për të punuar me SVG. (Kjo gjithashtu nuk është një listë shteruese, por zgjidhje me cilësi të lartë dhe popullore.)

Raphaël

Për të shtuar një grafik të thjeshtë byrek, mjafton kodi i mëposhtëm:

var r = Raphael ("tabelë", 640, 480); var pie = r.g.piechart (320, 240, 100,);

Me disa operacione shtesë, mund të shtoni një legjendë, tituj grafiku dhe këshilla ndërvepruese:

var r = Raphael ("tabelë", 640, 480); r.g.txtattr.font = "12px" Fontin Sans ", Fontin-Sans, sans-serif"; r.g.text (320, 100, "Grafiku ndërveprues i byrekut") .attr (("madhësia e shkronjave": 20)); var byrek = r.g.piechart (320, 240, 100,,
(legjenda: ["%%. %% - Përdoruesit e ndërmarrjeve", "Përdoruesit e IE"], legjenda: "perëndim",
href: ["http://raphaeljs.com", http://g.raphaeljs.com]});
byrek.hover (funksioni () (ky .sektor.ndal (); ky .sektor.shkallë (1.1, 1.1, kjo .cx, kjo .cy); if (this .label) (ky .label.stop (); kjo .label.shkallë (1.5); kjo .label.attr (("pesha e shkronjave": 800));)), funksioni () (ky .sector.animate ((shkallë:), 500, "fryrje") if (this .label) (this .label.animate ((shkalla: 1), 500, "bounce"); this .label.attr (("pesha e shkronjave": 400));)));

Në mënyrë të ngjashme, ju mund të shfaqni lloje të tjera grafikësh duke përdorur metodat e duhura. Shihni shembujt direkt në faqen e zgjerimit http://g.raphaeljs.com/

Highcharts JS

API-ja e bibliotekës e bën mjaft të lehtë gjenerimin e një grafiku nga të dhënat në JSON:

var chart1 = new Highcharts.Chart ((grafik: (renderTo: "charts", defaultSeries Type: "bar"), titull: (tekst: "Fruit Consumption"), xAxis: (kategori: ["Mollët", "Bananet", "Portokalli"]), yAksi: (titulli: (teksti: "Fruti i ngrënë")), seria: [(emri: "Jane", të dhënat:), (emri: "Gjoni", të dhënat:)]));

Me një skenar pak më kompleks, mund të specifikoni detaje shtesë, për shembull, të shfaqni një legjendë, të personalizoni sugjerime:

var grafik = i ri Highcharts.Chart ((grafiku: (renderTo: "charts", defaultSeriesType: "area", spacingBottom: 30), titulli: (teksti: "Konsumimi i frutave *"), nëntitulli: (tekst: "* Konsumimi i bananes së Jane është i panjohur", lundrues: e vërtetë, rreshto: "djathtas", vertikaleRreshto: "poshtë", y: 15), legjendë: (paraqitja: "vertikale", rreshto: "majtas", vertikaleRreshto: "lart", x: 150, y: 100 , lundrues: e vërtetë, gjerësia e kufirit: 1, sfondiNgjyra: "#FFFFFF"), xBoshti: (kategoritë: ["Mollë", "Dardha", "Portokalle", "Banane", "Rrush", "Kumbulla", "Luleshtrydhe" , "Raspberries"]), yAxis: (titulli: (tekst: "Aksi Y"), etiketat: (formatuesi: funksioni () (kthejeni këtë vlerë .;))), këshillë mjeti: (formator: funksioni () (kthimi " "+ this .series.name +"
"+ this .x +": "+ this .y;)), plotOptions: (zona: (fillOpacity: 0.5)), seria: [(emri:" John ", data:), (emri:" Jane ", të dhëna:)]));

Nëse është e nevojshme, ju mund të zëvendësoni stilet e paracaktuara me tuajat.

A duhet të zgjedh Canvas apo SVG?

Siç mund ta shihni nga shembujt e mësipërm, të dyja teknologjitë janë shpesh të përshtatshme për detyrat e vizualizimit të të dhënave. Shumë gjëra bëhen në mënyrë të ngjashme. Në rastet kur nevojitet prodhimi pixel-nga-pixel, Canvas është padyshim më i përshtatshëm. Aty ku diagrami ndahet në objekte individuale në të cilat duhet të ruhet ndërveprimi, SVG është më i përshtatshëm.

Kanavacë është më e përshtatshme
  • Redaktimi i grafikëve të bitmap
  • Aplikimi i efekteve në grafikë / video
  • Gjenerimi i grafikëve raster (vizualizimi i të dhënave, fraktale, grafikët e funksioneve)
  • Analiza e imazhit
  • Grafika e lojës (sprites, sfondet, etj.)
SVG është më i përshtatshëm
  • Ndërfaqe të shkallëzueshme
  • Ndërfaqet interaktive
  • Diagrame, skema
  • Redaktimi i imazhit vektorial

Në formë grafike, kjo mund të paraqitet si më poshtë:

Së fundi, një pjesë tjetër e rëndësishme që është gjithashtu e rëndësishme të merret parasysh kur zgjidhni një teknologji është shfaqja e performancës kur përdorni Canvas dhe SVG:

Në praktikë, kanavacë funksionon më mirë me madhësi të vogla të zonës së interpretimit dhe një numër të madh objektesh, në SVG është më i përshtatshëm kur duhet të shkallëzoni ose të shfaqni në një ekran të madh dhe në jo shumë objekte të shfaqura në të njëjtën kohë.

Artikujt kryesorë të lidhur