Home  >  Article  >  Backend Development  >  python basic tutorial project 2 - good painting

python basic tutorial project 2 - good painting

不言
不言Original
2018-04-03 09:19:441663browse

This article mainly introduces the second part of the python basic tutorial project in detail to everyone. It has a certain reference value. Interested friends can refer to it.

This is the "python basic tutorial" The second project in , about operating PDF in python.

Knowledge points involved

1. Use of urllib

2. Use of reportlab library

This example is really simple, but I found that in Python you can write a for loop directly in the array [], which becomes more convenient the more you use it.

The following is the code:

from urllib import urlopen
from reportlab.graphics.shapes import *
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.textlabels import Label
from reportlab.graphics import renderPDF

URL = 'http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt'
COMMENT_CHARS = '#:'

drawing = Drawing(400, 200)
data = []
for line in urlopen(URL).readlines():
 if not line.isspace() and not line[0] in COMMENT_CHARS:
  data.append([float(n) for n in line.split()])

pred = [row[2] for row in data]
high = [row[3] for row in data]
low = [row[4] for row in data]
times = [row[0] + row[1]/12.0 for row in data]
lp = LinePlot()
lp.x = 50
lp.y = 50
lp.height = 125
lp.width = 300
lp.data = [zip(times, pred),zip(times,high),zip(times, low)]
lp.lines[0].strokeColor = colors.blue
lp.lines[1].strokeColor = colors.red
lp.lines[2].strokeColor = colors.green

drawing.add(lp)
drawing.add(String(250,150, 'Sunspots',fontSize=14,fillColor=colors.red))

renderPDF.drawToFile(drawing, 'report3.pdf','Sunspots')

Related recommendations:

Python Basic Tutorial Project No. 4 News aggregation

The above is the detailed content of python basic tutorial project 2 - good painting. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn