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 相关文章推荐
初步剖析C语言编程中的结构体
Jan 16 Python
深入解析Python中函数的参数与作用域
Mar 20 Python
python中字符串类型json操作的注意事项
May 02 Python
Python OpenCV获取视频的方法
Feb 28 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
Python开发网站目录扫描器的实现
Feb 21 Python
简单了解python PEP的一些知识
Jul 13 Python
python issubclass 和 isinstance函数
Jul 25 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
常用的10个Python实用小技巧
Aug 10 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 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实现图象锐化代码
2007/06/14 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP根据session与cookie用户登录状态操作类的代码
2016/05/13 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
深入分析js中的constructor和prototype
2012/04/07 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python使用epoll实现服务端的方法
2018/10/16 Python
python右对齐的实例方法
2020/07/05 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
python实现简单的井字棋游戏(gui界面)
2021/01/22 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
美国网上眼镜供应商:LEOTONY(眼镜、RX太阳镜和太阳镜)
2017/10/31 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
前台文员的岗位职责
2013/11/14 职场文书
创业女性典型材料
2014/05/02 职场文书
离职证明标准格式
2014/09/15 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python