Python - Stvorite PDF s grafikom, 2. dio

Sadržaj
U prvom dijelu vodiča opisujemo osnovne točke zašto Piton To je dobra opcija za izradu grafičkih elemenata od tekstualnih podataka, mogli bismo vidjeti i kako se rukuje modulom ReportLab za generiranje jednostavnog PDF -a s nacrtanim testnim tekstom.
Priprema
Kako bismo napravili naš projekt, uzet ćemo neke povijesne podatke o položaju Sunca, preuzeli smo to sa web stranice SEC -a ili Centra za svemirsko okruženje, izvorno je u .txt datoteci, no kako bismo ubrzali naš razvoj, idemo uključiti izravno u naš program u nizu na sljedeći način:
 data = [ # Godina Mjesečno predviđanje visoko nisko (2004, 12, 34,2, 35,2, 33,2), (2005, 1, 31,5, 34,5, 28,5), # nastavlja se s više podataka] 

Važno je napomenuti da ćemo s ovim podacima koje ćemo hraniti generirati linije našeg grafikona.
Korištenje polilinija
Prije nego nastavimo, moramo znati povući crte, za to ćemo koristiti PolyLines koji je samo jedan Klasa ReportLab što nam omogućuje generiranje linija iz koordinata, te koordinate se primaju kao argument. Pogledajmo dalje kako generirati jednostavan grafikon.
Pomoću linije PolyLine ([(0, 0), (10, 0), (10, 10), (0, 10)]) možemo generirati graf koji vidimo na sljedećoj slici:

Prva implementacija
Budući da znamo s kojim ćemo alatima raditi, vrijeme je da napravimo prvu verziju programa.
Prvo ćemo vidjeti predloženi kôd, a zatim ćemo objasniti kako radi:
 from reportlab.lib uvozne boje iz reportlab.graphics.shapes uvoz * iz reportlab.graphics import renderPDF podaci = [(2005, 8, 113,2, 114,2, 112,2), (2005, 9, 112,8, 115,8, 109,8), (2005, 10, 111,0, 116,0, 106,0), (2005, 11, 109,8, 116,8, 102,8), (2005, 12, 107,3, 115,3, 99,3), (2006, 1, 105,2, 114,2, 96,2), (2006, 2, 104,1, 114,1, 94,1), (2006, 3, 99,9, 110,9, 88,9), (2006, 4, 94,8, 106.8, 82.8), (2006, 5, 91.2, 104.2, 78.2),] crtež = Crtanje (200, 150) pred = [red [2] -40 za red u podacima] visoko = [red [3] -40 za red u podacima] nisko = [red [4] -40 za red u podacima] puta = [200 * ( (redak [0] + redak [1] /12.0) - 2005.) -110 za redak u podacima] drawing.add (PolyLine (zip (vremena, pred), strokeColor = colors.blue)) drawing.add (PolyLine (zip (puta, visoko), strokeColor = colours.red)) drawing.add (PolyLine (zip (times, low), strokeColor = colours.green)) drawing.add (String (65, 115, 'Sunspots', fontSize = 18 , fillColor = colors.red)) renderPDF.drawToFile (crtež, 'report1.pdf', 'Sunčane pjege') 

U kôd koji započinjemo uvozom potrebnih paketa uključujemo razred boja to nam omogućuje crtanje grafikona u boji, zatim definiramo naše podatke, ovaj put smo uključili mnogo više podataka kako bismo napravili potpuniji grafikon.
Instanciramo Čas crtanja a zatim pripremamo tri varijable koje ćemo prevesti.
Konačno s njim metoda dodavanja ugrađujemo varijable definirane s već pripremljenim podacima, nakon što imamo 3 odjeljka, izgrađujemo PDF pomoću metode drawToFile i na kraju bismo trebali imati nešto vrlo slično sljedećem:

Kao što vidimo, već smo povukli crte koje odgovaraju ugrađenim podacima, međutim izvješću moramo dati malo više značenja, za to moramo uvrstiti vodiče, no kad saznamo kako to funkcionira, možemo ostaviti ostalo njima.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod
wave wave wave wave wave