Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)...

今天晚上学习了下使用pycha模块来制作各种办公用图的方法,非常简单,本文使用其绘制了7种图表。

此模块和API地址为:http://www.lorenzogil.com/projects/pycha/,需要的朋友可以下载下来玩一下,下面是我晚上学习时写的一点东东,分享之。


一、代码:

#!/usr/bin/env python # -*- coding: utf-8 -*- import cairo import pycha.pie import pycha.bar import pycha.scatter import pycha.stackedbar import pycha.line #设置画布 def set_charvalue(): width,height=600,600 surface=cairo.ImageSurface(cairo.FORMAT_ARGB32,width,height) return surface #画饼图 def draw_pie(surface, options, dataSet): chart=pycha.pie.PieChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\Pie.png') #垂直直方图 def draw_vertical_bar(surface, options, dataSet): chart=pycha.bar.VerticalBarChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\vertical_bar.png') #垂直水平直方图 def draw_horizontal_bar(surface, options, dataSet): chart = pycha.bar.HorizontalBarChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\horizontal_bar.png') #线图 def draw_line(surface, options, dataSet): chart = pycha.line.LineChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\line.png') #点图 def draw_scatterplot(surface, options, dataSet): chart = pycha.scatter.ScatterplotChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\scatterplotChart.png') #垂直块图 def draw_stackedverticalbarChar(surface, options, dataSet): chart = pycha.stackedbar.StackedVerticalBarChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\stackedVerticalBarChart.png') #水平块图 def draw_stackedhorizontalbarChart(surface, options, dataSet): chart = pycha.stackedbar.StackedHorizontalBarChart(surface,options) chart.addDataset(dataSet) chart.render() surface.write_to_png('d:\\stackedhorizontalbarChart.png') if __name__ == '__main__': ''' Function:使用pycha画各种图表 Input:NONE Output: NONE author: socrates blog:http://blog.csdn.net/dyx1024 date:2012-02-28 ''' #数据来源 dataSet=( ('iphone',((0,1),(1,3),(2,2.5))), ('htc',((0,2),(1,4),(2,3))), ('hw',((0,5),(1,1,),(2,0.5))), ('zte',((0,3),(1,2,),(2,1.5))), ) #图像属性定义 options={ 'legend':{'hide':False}, 'title':'手机销售量分布图(by dyx1024)', 'titleColor':'#0000ff', 'titleFont':'字体', 'background':{'chartColor': '#ffffff'}, 'axis':{'labelColor':'#ff0000'}, } surface = set_charvalue() #根据需要调用不同函数画不同形状的图 #draw_pie(surface, options, dataSet) #draw_vertical_bar(surface, options, dataSet) #draw_horizontal_bar(surface, options, dataSet) #draw_scatterplot(surface, options, dataSet) #draw_stackedverticalbarChar(surface, options, dataSet) #draw_stackedhorizontalbarChart(surface, options, dataSet) draw_line(surface, options, dataSet)


二、测试:

1、函数draw_pie(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第1张图片

2、函数draw_vertical_bar(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第2张图片

3、函数draw_horizontal_bar(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第3张图片

4、函数draw_line(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第4张图片

5、函数draw_scatterplot(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第5张图片

6、函数draw_stackedverticalbarChar(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第6张图片

7、函数draw_stackedhorizontalbarChart(surface, options, dataSet):

Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)..._第7张图片

你可能感兴趣的:(Python:使用pycha快速绘制办公常用图(饼图、垂直直方图、水平直方图、散点图等七种图形)...)