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用模块pytz来转换时区
Aug 19 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
Jun 05 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
Django中多种重定向方法使用详解
Jul 17 Python
Django中Middleware中的函数详解
Jul 18 Python
Python时间序列缺失值的处理方法(日期缺失填充)
Aug 11 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
基于Python实现视频的人脸融合功能
Jun 12 Python
Python reques接口测试框架实现代码
Jul 28 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
用python实现监控视频人数统计
May 21 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
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
javascript编程起步(第三课)
2007/02/27 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
ztree加载完成后显示勾选节点的实现代码
2018/10/22 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
Vue3.x源码调试的实现方法
2019/10/13 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
django框架ModelForm组件用法详解
2019/12/11 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
.NET初级开发工程师面试题
2014/04/18 面试题
大学四年学习的自我评价分享
2013/12/09 职场文书
《纸船和风筝》教学反思
2014/02/15 职场文书
目标管理责任书
2014/04/15 职场文书
技术岗位竞聘演讲稿
2014/05/16 职场文书
铅球加油稿100字
2014/09/26 职场文书
2014年党总支工作总结
2014/12/18 职场文书
课外活动实习计划
2015/01/19 职场文书
幼儿园国庆节活动总结
2015/03/23 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
老生常谈 使用 CSS 实现三角形的技巧(多种方法)
2021/04/13 HTML / CSS