python使用reportlab画图示例

 这篇文章主要介绍了python使用reportlab画图示例,大家参考使用吧

准备工作
 
开发环境:python2.6,reportlab
 
准备中文字体文件:simsun.ttc
 
代码:
 
 
代码如下:
#!/usr/bin/env python2.6
#coding:utf-8
 
import traceback
 
from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.lineplots import LinePlot
from reportlab.graphics.charts.textlabels import Label
from reportlab.graphics import renderPDF
from reportlab.graphics.widgets.markers import makeMarker
from reportlab.pdfbase import pdfmetrics, ttfonts
 
#注意data的类型,
#每一个数据点是一个元组
#一条曲线对应一个存储数据点元组的元组
#一个图形可以包含多条曲线,用列表存储曲线元组
data=[((1,100),(2,200),(3,300),(4,400),(5,500)),((1,50),(2,80),(3,400),(4,40),(5,70))]
 
drawing = Drawing(500, 300)
 
lp = LinePlot()
lp.x = 50 #坐标轴中心坐标
lp.y = 30
lp.height = 250
lp.width = 400
lp.data = data
lp.joinedLines = 1
lp.lines.symbol = makeMarker('FilledCircle')
 
lp.xValueAxis.valueMin = 1
lp.xValueAxis.valueMax = 5
lp.xValueAxis.valueStep = 1
 
lp.yValueAxis.valueMin = 0
lp.yValueAxis.valueMax = 500
lp.yValueAxis.valueStep = 100
drawing.add(lp)
 
title = Label()
#若需要显示中文,需要先注册一个中文字体
pdfmetrics.registerFont(ttfonts.TTFont("haha", "simsun.ttc"))
title.fontName   = "haha"
title.fontSize   = 12
title_text = unicode('你好','gbk')
#title_text = "abc"
title._text = title_text
title.x          = 250
title.y          = 280
title.textAnchor ='middle'
drawing.add(title)
 
Xlabel = Label()
Xlabel._text = 'x'
Xlabel.fontSize   = 12
Xlabel.x          = 480
Xlabel.y          = 30
Xlabel.textAnchor ='middle'
drawing.add(Xlabel)
 
Ylabel = Label()
Ylabel._text = "y"
Ylabel.fontSize   = 12
Ylabel.x          = 40
Ylabel.y          = 295
Ylabel.textAnchor ='middle'
drawing.add(Ylabel)
 
try:
     drawing.save(formats=['gif'],outDir=".",fnRoot="abc")
except:
     traceback.print_exc()

时间: 2024-09-09 08:05:42

python使用reportlab画图示例的相关文章

python使用reportlab画图示例(含中文汉字)_python

准备工作 开发环境:python2.6,reportlab 准备中文字体文件:simsun.ttc 代码: 复制代码 代码如下: #!/usr/bin/env python2.6#coding:utf-8 import traceback from reportlab.graphics.shapes import Drawingfrom reportlab.graphics.charts.lineplots import LinePlotfrom reportlab.graphics.chart

python使用reportlab实现图片转换成pdf的方法

  本文实例讲述了python使用reportlab实现图片转换成pdf的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/usr/bin/env python import os import sys from reportlab.lib.pagesizes import A4, landscape from reportlab.pdfgen import canvas f = sys.argv[1]

Python使用reportlab将目录下所有的文本文件打印成pdf的方法

  本文实例讲述了Python使用reportlab将目录下所有的文本文件打印成pdf的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 # -*- coding: utf8 -*- #~ #------------------------------------------------

libsvm gnuplot-windows平台使用python 调用gnuplot画图后窗口不能保持

问题描述 windows平台使用python 调用gnuplot画图后窗口不能保持 如题,本人刚刚学习libsvm,希望各位前辈能帮帮我! libsvm.python.gnuplot都安装好了,做的是最基础的"python grid.py heart____scale" 这个例子,程序跑的过程中是gunplot的窗口是存在的,但是跑完之后窗口就自己关闭了,不知道为什么,求各位前辈能帮帮忙指点一下!! 解决方案 http://bbs.chinaunix.net/thread-405837

python的web简单示例

比如你抽取右边的活动 代码段如下: import re #正则类 from urllib import urlopen #提取内容类 #打开链接 webpage = urlopen("http://www.douban.com") #提取读取内容 info = webpage.read() #正则匹配 party = re.findall("<a.href=\"http://www.douban.com/online/[0-9]+.\">(.{

python读写文件操作示例程序

 日常操作中,少不了文本处理,如程序输入数据准备,python凭借其简洁优雅的语法,在文本处理上比C++等编译型语言开发效率高出一大截,下面看代码 文件操作示例     复制代码 代码如下: #输入文件 f = open(r'D:Python27pro123.bak')  #输出文件 fw = open(r'D:Python27pro123e.bak','w') #按行读出所有文本 lines = f.readlines() num = -1 for line in lines:     str

Python多进程multiprocessing使用示例

来源:http://outofmemory.cn/code-snippet/2267/Python-duojincheng-multiprocessing-usage-example 来源:http://www.jb51.net/article/67116.htm 来源:http://blog.csdn.net/qdx411324962/article/details/46810421 来源:http://www.lxway.com/4488626156.htm 由于要做把一个多线程改成多进程,

python读写文件操作示例程序_python

文件操作示例 复制代码 代码如下: #输入文件f = open(r'D:\Python27\pro\123.bak') #输出文件fw = open(r'D:\Python27\pro\123e.bak','w')#按行读出所有文本lines = f.readlines()num = -1for line in lines:    str = '@SES/%i/' %num    line = line.replace('@SES/1/',str)    num = num + 1    #写入

python中__call__方法示例分析_python

本文实例讲述了python中__call__方法的用法,分享给大家供大家参考.具体方法分析如下: Python中的__call__允许程序员创建可调用的对象(实例),默认情况下, __call__()方法是没有实现的,这意味着大多数实例是不可调用的.然而,如果在类定义中覆盖了这个方法,那么这个类的实例就成为可调用的. test.py文件如下: #!/usr/bin/python # Filename:test.py class CallTest(): def __init__(self): pr