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操作列表的常用方法分享
Feb 13 Python
python使用点操作符访问字典(dict)数据的方法
Mar 16 Python
Python中的匿名函数使用简介
Apr 27 Python
彻底理解Python list切片原理
Oct 27 Python
flask + pymysql操作Mysql数据库的实例
Nov 13 Python
Python反转序列的方法实例分析
Mar 21 Python
如何基于python生成list的所有的子集
Nov 11 Python
python中return的返回和执行实例
Dec 24 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
图文详解matlab原始处理图像几何变换
Jul 09 Python
opencv用VS2013调试时用Image Watch插件查看图片
Jul 26 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
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
PHP快速排序quicksort实例详解
2016/09/28 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
使用jquery animate创建平滑滚动效果(可以是到顶部、到底部或指定地方)
2014/05/27 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
JavaScript中的类与实例实现方法
2015/01/23 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
javascript实现倒计时(精确到秒)
2015/06/26 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
详解关于vue2.0工程发布上线操作步骤
2018/09/27 Javascript
微信小程序时间控件picker view使用详解
2018/12/28 Javascript
Python判断Abundant Number的方法
2015/06/15 Python
浅谈对yield的初步理解
2017/05/29 Python
django项目搭建与Session使用详解
2018/10/10 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
基于python3的socket聊天编程
2020/02/17 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
NYX Professional Makeup俄罗斯官网:世界知名的化妆品品牌
2019/12/26 全球购物
历史学专业个人的自我评价
2013/10/13 职场文书
物流专员岗位职责
2014/02/17 职场文书
晨会主持词
2014/03/17 职场文书
物业保安辞职信
2015/05/12 职场文书
nginx内存池源码解析
2021/11/20 Servers