萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python使用reportlab畫圖示例

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()
copyright © 萬盛學電腦網 all rights reserved