python练习二—画幅好画

这个练习相对简单,主要是对reportlab库的学习调用,看代码

#! /usr/bin/env pyton
# -*- coding=utf-8 -*-

from reportlab.lib import colors
from reportlab.graphics.shapes import *
from reportlab.graphics import renderPDF
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.textlabels import Label
data = [
    #    Year  Month  Predicted  High  Low
        (2007,  8,    113.2,     114.2, 112.2),
        (2007,  9,    112.8,     115.8, 109.8),
        (2007, 10,    111.0,     116.0, 106.0),
        (2007, 11,    109.8,     116.8, 102.8),
        (2007, 12,    107.3,     115.3,  99.3),
        (2008,  1,    105.2,     114.2,  96.2),
        (2008,  2,    104.1,     114.1,  94.1),
        (2008,  3,     99.9,     110.9,  88.9),
        (2008,  4,     94.8,     106.8,  82.8),
        (2008,  5,     91.2,     104.2,  78.2),
        ]
# 初始化画布大小
drawing = Drawing(400, 200)

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)

renderPDF.drawToFile(drawing, ‘sunspots.pdf‘,‘sunspot‘)

#zip使用

a = list(1,2)
b = list(3,4)
d = zip(a,b)=((1,3), (2,4))

# 列表和元组

列表是[],元组是()
列表长度可变,元组不可变

# 列表推导式,轻量级循环
l = [row for row in rows]

时间: 2024-08-29 15:29:20

python练习二—画幅好画的相关文章

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

【美妙的Python之二】Python初步

美妙的Python之Python起步 简而言之: Python 是能你无限惊喜的语言,与众不同.           1.动态类型:         Python是一种动态类型语言,不需要预先声明变量的类型,变量的类型和值在赋值那一刻动态地初始化.这一点与C/C++,Java等静态类型语言完全不同,静态类型在编译阶段就必须显示的声明变量的类型,动态类似在运行时才确定变量的类型.        变量a动态地初始化为int类型,并赋值2014;        变量msg则动态初始化为str类型,并赋

Python的二维数组

Python一维数组初始化: >>> list=[] >>> type(list) <type 'list'> >>> list [] Python二维数组初始化: >>> lists = [[]] * 3 >>> lists [[], [], []] >>> lists[0].append(3) >>> lists [[3], [3], [3]] "[[]]

python 生成二维码

#coding:utf8 try: import qrcode except ImportError: qrcode = None class MakeQr: def onUseQrcode(self, value): qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(value) qr.make(fit=True) x = qr.make_image() img_file = open("1.jpg",

Python基础二--基本控制语句

基本接触每一种语言,都需要做的:1.print 一个"Hello world!" 2.了解基本的数据类型 3.学习控制语句. 当我们学习控制语句,一般都离不开if,for ,while,switch(case).本文就做一个简单的介绍python的基本控制语句,其中我们用if while来做一个经典的"猜数字游戏",if for来做一个"输出完美数". 在此之前,对于一些没用过python的同学而熟悉c/c++等用{}来做块的要注意了,pytho

初学Python(二)——数组

初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 print len(list) #第一个元素 print list[0] #最后一个元素 print str(list[-1]) list.append(2.4) list.insert(1,2.7) list.pop(1) list.insert(1,['sdf','sdfdf']) print

Python入门(二)——IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化

Python入门(二)--IDE选择PyCharm,输入和输出,基础规范,数据类型和变量,常量,字符串和编码,格式化 我们从今天就开始正式的学习PY交易了,PY交易还行,我们有基础之后学习起来倒不是说那么的被动,我学习的是Python2.7,虽然现在随着版本的迁移至Python3,但是这个并不会对我们造成什么困扰,毕竟只是一个适应阶段 我们的学习资料:廖雪峰官方网站Python2.7教程 一.IDE选择PyCharm 我们虽然在前面一章已经配置过,但是我们还是有很多的IDE可以开发Py,比如su

python多线程(二)

原文:http://blog.sina.com.cn/s/blog_4b5039210100esc1.html 基础不必多讲,还是直接进入python. Python代码代码的执行由python虚拟机(也叫解释器主循环)来控制.Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时候,只有一个程序在CPU中运行.同样,虽然python解释器可以“运行”多个线程,但在任意时刻,只有一个线程在解释器中运行. 对pyt