python基础教程项目二之画幅好画


Posted in Python onApril 02, 2018

这是《python基础教程》中的第二个项目,关于python操作PDF。

涉及到的知识点

1、urllib的使用

2、reportlab库的使用

这个例子着实很简单,不过我发现在python里面可以直接在数组[]里面写for循环,真是越用越方便。

下面是代码:

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')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用循环实现批量创建文件夹示例
Mar 25 Python
python实现批量修改文件名代码
Sep 10 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
Python2与Python3的区别实例总结
Apr 17 Python
python pytest进阶之xunit fixture详解
Jun 27 Python
详解python解压压缩包的五种方法
Jul 05 Python
Python编写打字训练小程序
Sep 26 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
Python socket处理client连接过程解析
Mar 18 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
如何通过Python实现RabbitMQ延迟队列
Nov 28 Python
通过Python 接口使用OpenCV的方法
Apr 02 #Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 #Python
在python3.5中使用OpenCV的实例讲解
Apr 02 #Python
Python-OpenCV基本操作方法详解
Apr 02 #Python
浅谈Python Opencv中gamma变换的使用详解
Apr 02 #Python
opencv改变imshow窗口大小,窗口位置的方法
Apr 02 #Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 #Python
You might like
php 引用(&)详解
2009/11/20 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
PDO::query讲解
2019/01/29 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
js 文件引入实现代码
2010/04/23 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
2013/05/07 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
Javascript 对象(object)合并操作实例分析
2019/07/30 Javascript
详解在Python和IPython中使用Docker
2015/04/28 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
python中yield的用法详解
2021/01/13 Python
CSS3实现王者匹配时的粒子动画效果
2019/04/12 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
JBL美国官方商店:扬声器、耳机等
2019/12/01 全球购物
优秀员工自荐书范文
2013/12/08 职场文书
销售人员工作自我评价
2014/09/21 职场文书
初中毕业生感言
2015/07/31 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
浅谈如何提高PHP代码的质量
2021/05/28 PHP
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL