精华内容
下载资源
问答
  • python项目练习二:画幅好画
    2020-12-04 15:46:09

    fromurllibimport urlopen

    from reportlab.graphics.shapesimport *

    from reportlab.graphics.charts.lineplotsimport LinePlot

    from reportlab.graphics.charts.textlabelsimport Label

    from reportlab.graphicsimport renderPDF

    URL ='http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt'

    COMMENT_CHARS ='#:'

    drawing = Drawing(400,200)

    data =[]

    for line in urlopen(URL).readlines():

    ifnot line.isspace()andnot 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.0for 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基础教程项目二之画幅好画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 项目2:画幅好画

    2020-10-15 18:00:05
    首先要用到的是折线类,PolyLine,用法很简单,看下面的例子: 1 from reportlab.lib import colors 2 from reportlab.graphics.shapes import* 3 from reportlab.graphics import renderPDF 4 5 drawing = ...

    这个项目比较简单,介绍了ReportLab的用法。

    首先要用到的是画折线类,PolyLine,用法很简单,看下面的例子:

    1 from reportlab.lib import colors
    2 from reportlab.graphics.shapes import*
    3 from reportlab.graphics import renderPDF
    4
    5 drawing = Drawing(200, 150)
    6 drawing.add(PolyLine([(50, 50), (100, 50), (100, 100), (50, 100), (50, 50)]))
    7
    8 renderPDF.drawToFile(drawing, ‘report2.pdf’, ‘Sunsports’)

    1 from reportlab.lib import colors
    2 from reportlab.graphics.shapes import*
    3 from reportlab.graphics import renderPDF
    4
    5 data=[
    6 # Year Month Predicted High Low
    7 (2007, 8, 113.2, 114.2, 112.2),
    8 (2007, 9, 112.8, 115.8, 109.8),
    9 (2007, 10, 111.0, 116.0, 106.0),
    10 (2007, 11, 109.8, 116.8, 102.8),
    11 (2007, 12, 107.3, 115.3, 99.3),
    12 (2008, 1, 105.2, 114.2, 96.2),
    13 (2008, 2, 104.1, 114.1, 94.1),
    14 (2008, 3, 99.9, 110.9, 88.9),
    15 (2008, 4, 94.8, 106.8, 82.8),
    16 (2008, 5, 91.2, 104.2, 78.2)
    17 ]
    18
    19 drawing = Drawing(200, 150)
    20
    21 pred = [row[2]-40 for row in data]
    22 high = [row[3]-40 for row in data]
    23 low = [row[4]-40 for row in data]
    24 times = [200*((row[0]+row[1]/12.0)-2007)-110 for row in data]
    25
    26 drawing.add(PolyLine(list(zip(times, pred)), strokeColor = colors.blue))
    27 drawing.add(PolyLine(list(zip(times, high)), strokeColor = colors.red))
    28 drawing.add(PolyLine(list(zip(times, low)), strokeColor = colors.green))
    29 drawing.add(String(65, 115, ‘Sunspots’, fontSize=18, fillColor = colors.red))
    30
    31 renderPDF.drawToFile(drawing, ‘report1.pdf’, ‘Sunsports’)

    这儿需要注意的一点是书上的写法是:

    PolyLine(zip(times, pred), strokeColor = colors.blue)
    但是在python3中这样写是错误的,会有 TypeError: object of type ‘zip’ has no len() 错误。可以改写成上述写法。

    接下来是进阶版本,不难:

    1 from urllib.request import urlopen #python3中在request中
    2 from reportlab.graphics.shapes import *
    3 from reportlab.graphics.charts.lineplots import LinePlot
    4 from reportlab.graphics.charts.textlabels import Label
    5 from reportlab.graphics import renderPDF
    6
    7 URL = ‘http://services.swpc.noaa.gov/text/predicted-sunspot-radio-flux.txt’
    8 COMMENT_CHARS = ‘#:’
    9
    10 drawing = Drawing(400, 200)
    11 data = []
    12
    13 for line in urlopen(URL).readlines():
    14 line = line.decode() #这儿需要这样做,否则下面无法转化成float,具体不太清楚。。。
    15 if not line.isspace() and not line[0] in COMMENT_CHARS:
    16 data.append([float(n) for n in line.split()])
    17
    18 pred = [row[2] for row in data]
    19 high = [row[3] for row in data]
    20 low = [row[4] for row in data]
    21 times = [row[0] + row[1]/12.0 for row in data]
    22
    23 lp = LinePlot()
    24 lp.x = 50
    25 lp.y = 50
    26 lp.height = 120
    27 lp.width = 300
    28
    29 lp.data =[tuple(zip(times, pred)), tuple(zip(times, high)), tuple(zip(times, low))] #这儿最后也要转换成元组
    30
    31 lp.lines[0].strokeColor = colors.red
    32 lp.lines[1].strokeColor = colors.blue
    33 lp.lines[2].strokeColor = colors.green
    34
    35 drawing.add(lp)
    36 drawing.add(String(250, 150, ‘Sunspots’, fontSize =14, fillColor = colors.red))
    37
    38 renderPDF.drawToFile(drawing, ‘report2.pdf’, ‘Sunspots’)

    转载于:https://www.cnblogs.com/zyb993963526/p/8297357.html

    展开全文
  • 画幅好画python

    2018-04-26 22:10:45
    # -*- coding: utf-8 -*-"""Created on Sat Nov 25 21:59:04 2017@author: Administrator"""from urllib import urlopenfrom reportlab.graphics.shapes import *from reportlab....
    
    
    # -*- coding: utf-8 -*-
    """
    Created on Sat Nov 25 21:59:04 2017
    @author: Administrator
    """
    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创建图形,具体是利用图形创建PDF文件,使得文件...因为urllib2.urlopen里面有一个timeout可以设置,因为当我用检测程序时候几次都是强制关闭的终端要是设置了 timeout那么就好多了。所以我用了urllib2

    本次是用python创建图形,具体是利用图形创建PDF文件,使得文件中读数可视化。

    首先安装reportlab包,然后import reportlab检测是否安装成功。下面进入正题

    from urllib2 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, ‘100’).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]

    time = [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(time, pred), zip(time, high), zip(time, 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, 'Sunsplots', fontSize = 14, fillColor = colors.red))

    renderPDF.drawToFile(drawing, 'report2.pdf', 'Sunspots')其实这个程序本身是没有什么难度的,程序一目了然。所以就不说什么了,我想说说我的收获:

    在我运行程序的时候发现运行了好久也没有生成PDF文档,所以我想可能是因为程序卡在了某个部分。据我分析我认为上面的程序可以分为三部分,一是获取数据(data[])

    二是数据处理(pred,high,low,time),三是设置LinePlot类。所以我想只能是在获取数据方面花费了较多时间,所以我就如下程序检测了一下果然是我想的这样

    检测程序如下:

    from urllib2 import urlopen

    URL = 'http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt'

    w = urlopen(URL)

    我发现urllib2相对与urllib在使用urlopen方面要好。因为urllib2.urlopen里面有一个timeout可以设置,因为当我用检测程序时候好几次都是强制关闭的终端要是设置了

    timeout那么就好多了。所以我用了urllib2

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • Python 练习之画幅好画

    2018-03-21 13:03:13
    《python基础教程》画幅好画使用reportlab模块出太阳黑子的曲线图。源代码:from reportlab.lib import colors from urllib import urlopen from reportlab.graphics.shapes import * from reportlab....
  • 画幅好画

    千次阅读 2014-03-10 10:28:57
    画幅好画这个项目来源于《Python基础编程》后面的第二个项目,介绍如何在Python中创建图形创建一个pdf文件,是从文本文件中读取的数据可视化。 重要工具的介绍: 在这个项目中最重要的工具是图形生成包ReportLab ...
  • 这是《python基础教程》中的第二个项目,关于python操作PDF 涉及到的知识点 1、urllib的使用 2、reportlab库的使用 这个例子着实很简单,不过我发现在python里面可以直接在数组[]里面写for循环,真是越用越方便。...
  • Python项目之画幅好画

    千次阅读 2016-05-24 14:05:54
    这个项目是《Python基础教程》后面的项目之一。这个项目主要是用来学习如何在Python中创建图形,具体说就是利用图形创建一个PDF文件,使从文本中读取的数据可视化。... 初步版本: 实现了基本内容。
  • #python操作PDFfrom urllib import urlopenfrom reportlab.graphics.shapes import *from reportlab.graphics.charts.legends import *from reportlab.graphics.charts.textlabels import *from reportlab.graphics ...
  • 标签:要求:从Internet上下载数据文件; 分析数据文件并提取感兴趣的部分工具:图形生成包(ReportLab,PYX等)数据:太阳黑子和射电辐射... 简单实现1.1 用ReportLab画图将字符串“Hello world”在一个100*100像素...
  • 本项目介绍如何在python中创建图形,利用图形创建一个pdf文件,将文本文件数据可视化。 程序要求满足:1、从网上下载数据。2、分析数据并提取感兴趣的部分。3、根据数据生成PDF文件。 本文用到的工具包是...
  • 本项目使用reportlab实现基础的画图操作,画图数据从网上获取,分析后出曲线,并保存到PDF文件中。 由于网上的黑子数据与书中所说的不一样,所以略作修改,获取一个网页,然后统计这个网页上数字,小写字母,大写...
  • python学习(一):画幅好画

    千次阅读 2015-03-17 22:59:30
    欢迎使用Markdown编辑器写博客准备工作: 1.python34+sublime 2.准备太阳黑子数据predict.txt 3.安装tomcat,并将predict.txt置于根目录下sunspots_roto.py#第一行就与python2不同 #原文:from urllib import ...
  • # 使用shapes可以出复杂的形状 from reportlab.graphics.charts.lineplots import LinePlot # chars包里包含许多常用的图形 from reportlab.graphics.charts.textlabels import Label from reportlab....
  • 这个练习相对简单,主要是对reportlab库的学习调用,看代码 #! /usr/bin/env pyton # -*- coding=utf-8 -*- ...from reportlab.lib import colors ...from reportlab.graphics.shapes import * ...
  • 第二个项目相比第一个简单了很多。 这个项目的目的是从网络上读取数据,将数据转化为图表显示在PDF中。 基本的思路是: 1.用urlopen从网络上读取数据,形成一个二维List ...2.拆分二维List,将数据列和时间列用zip...
  • from urllib import urlopen from reportlab.graphics.shapes import * from reportlab.graphics.charts.lineplots import LinePlot from reportla
  • 《简简单单画幅画》教学设计一、教材分析本节内容是人民教育出版社三年级信息技术上册第8课,简简单单画幅画的加深巩固实践课,让学生学习在本节课中能独立完成一幅作品,从而提高学生学习电脑绘画兴趣和信心。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,370
精华内容 548
关键字:

画幅好画