展会信息港展会大全

python使用reportlab画图示例
来源:互联网   发布日期:2016-01-19 12:59:01   浏览:3122次  

导读:这篇文章主要介绍了python使用reportlab画图示例,大家参考使用吧准备工作开发环境:python2 6,reportlab准备中文字体文件:simsun ttc代码:代码如下: ! usr bin env python2 6 coding:utf-8import tracebac ...

这篇文章主要介绍了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()

赞助本站

人工智能实验室

相关热词: reportlab python

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港