第一章节:
得到一个使用ChartDirector的感觉, 验证ChartDirector 开发环境是设置正确的,
我们开始通过创建一个简单的条形图开始:
如果你还没有尝试示例程序,强烈推荐你尝试它们现在。
# -*- coding:utf-8 -*-
# !/usr/bin/python
from pychartdir import *
# The data for the bar chart
data = [85, 156, 179.5, 211, 123]
# The labels for the bar chart
labels = ["Mon", "Tue", "Wed", "Thu", "Fri"]
# Create a XYChart object of size 250 x 250 pixels
c = XYChart(250, 250)
# Set the plotarea at (30, 20) and of size 200 x 200 pixels
c.setPlotArea(30, 20, 200, 200)
# Add a bar chart layer using the given data
c.addBarLayer(data)
# Set the labels on the x axis.
c.xAxis().setLabels(labels)
# Output the chart
c.makeChart("simplebar.png")
代码解释如下:
from pychartdir import *
该行导入ChartDirector ,以便你可以使用
c = XYChart(250, 250)
第一步是创建任何图表在ChartDirector 是创建适当的图标对象
在这个例子中,一个XYChart 为250*250 像素的XyCar对象。
在ChartDirector,XYChart 表示任何图表有x-axis and y-axis,
例如我们正在绘制的条形图
c.setPlotArea(30, 30, 200, 200)
第2步创建一个条形图 是指定我么需要在哪里绘制条形图
矩形是通过使用坐上的(x,y)坐标来指定 ,结合它的宽度和高度
对于这个简单的条形图,我们使用图表的大部分区域来绘制条形图。
我们会允许保留一些余量来允许轴上的文本标签
在上面的代码中,左上角是设置为(30,30),
宽度和高度设置为200像素。
c.setPlotArea(30, 30, 200, 200)
因为整个chart 是250 x 250 in size, 这里会有20-30 像素余量用于文本标签
注意 ChartDirector 使用一个像素坐标系统,那是计算机屏幕惯例
x 像素坐标是增加从左到右
y 像素坐标是增加从上到下
原点(0,0) 是在左上角
对于更加复杂的图标可能包含标题,图例框和其他事物的更复杂的图表,
我们可以使用此方法(以及其他方法)来设计整个图表的精确布局
c.addBarLayer(data)
上面code 增加一个bar layer 到XY图表。
在ChartDirector,任何图表类型 有 x-axis and y-axis 是被表示为一个layer 在XYChart
一个XYChart 可以包含多个layers
这个允许"组合图" 被容易的通过组合不同的layers 在相同的图标上
在上面的代码中,参数是一个数字数组表示 数据点的值
c.xAxis().setLabels(labels)
上面的代码设置标签在x-axis. 第一个方法XYChart.xAxis 检索Axis object 表示 x-axis.
第2个方法 Axis.setLabels 榜之text labels 到x-axis
setLabels方法的参数是一个文字字符串数组
c.makeChart("simplebar.png")
至此,图标就完成了,我们需要以某种方式输出它,在我们的简单项目中,我们将图标输出为PNG格式文件