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

作者:the5fire 时间:2023-09-10 05:06:32 

这是《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')

来源:https://www.the5fire.com/python-reportlab.html

标签:python,基础教程,画幅好画
0
投稿

猜你喜欢

  • python的import 机制是怎么实现的

    2021-02-22 14:39:11
  • 浅谈Python中的私有变量

    2023-07-21 17:59:46
  • python 绘制斜率图进行对比分析

    2022-03-18 15:31:38
  • 对Python的交互模式和直接运行.py文件的区别详解

    2023-12-18 00:03:55
  • 基于Go语言实现选择排序算法及优化

    2024-04-26 17:36:34
  • Go语言实现socket实例

    2024-02-04 20:17:30
  • 记一次python 爬虫爬取深圳租房信息的过程及遇到的问题

    2022-03-22 02:09:02
  • 浅谈node的事件机制

    2024-05-05 09:22:03
  • Python变量和字符串详解

    2023-08-23 02:59:49
  • git中submodule子模块的添加、使用和删除的示例代码

    2023-11-24 01:31:36
  • jupyter notebook保存文件默认路径更改方法汇总(亲测可以)

    2023-01-12 09:05:07
  • python读取图片的方式,以及将图片以三维数组的形式输出方法

    2023-08-05 04:09:26
  • python实现截取屏幕保存文件,删除N天前截图的例子

    2021-09-19 18:13:49
  • 详细介绍Scrapy shell的使用教程

    2022-04-18 03:35:39
  • 关于vue父组件调用子组件的方法

    2024-04-09 10:47:43
  • go语言LeetCode题解1030距离顺序排列矩阵单元格

    2024-05-22 10:09:19
  • MySQL数据库手册DATABASE操作与编码(小白入门篇)

    2024-01-24 16:20:54
  • Flash连接服务器

    2008-06-15 07:19:00
  • php生成4位数字验证码的实现代码

    2023-11-20 15:00:12
  • jupyter notebook内核启动失败问题及解决方法

    2022-09-21 02:31:04
  • asp之家 网络编程 m.aspxhome.com