创建扇形图

你要如何依据索引系统来创建一个扇形图?事实上一行命令即可实现:

CairoPlot.pie_plot("piechart", rejected, 500, 500, None, True, False, 
None)

CairoPlot将生成一个名为pie.svg的图形文件(如图一所示)。

CairoPlot将生成一个名为pie.svg的图形文件

图一

其参数为:

pie_plot(name,
         data,
         width, height,
         background=None,
         gradient=False, shadow=False,
         colors=None)

Name(名称)指文件名:如果你希望加入一个诸如.jpg之类的扩展名,那么CairoPlot将使用你所设定的格式来取代svg格式,因为在某些情况下你可能会需要一个IE用户能够通过页面正常浏览的图像。

Data(数据),当然了,代表索引系统中的数值。

Width(宽度)和Height(高度)代表你所希望的图形绘制尺寸。需要注意的是,CairoPlot预留给扇形图周边的空白区域是相当有限的,所以一定要注意整体规划。

Background(背景),你需要指定一种背景颜色,其选色方法为标准的RGB形式。因此,通过background=(0,1,0)这一指令,你将获得一个全绿的背景。你在这里也可以使用Cairo gradient(色阶)来进行设定。Gradient(色阶)功能可以让你选择是否将你扇形图中的某一块显示出色彩渐变的效果,以使整个图形更加美观。Shadow(阴影)功能将让你可以为整个扇形图增加底部阴影效果,并且如果你不喜欢系统默认的阴影颜色,也可以随意为其定义新的颜色。当然,阴影颜色同样即可以是单色也可以包含色阶。需要强调的是,所选颜色的数量必须与索引系统中的项目数量相同。

图一中的示例存在一个小问题:它显示绝大多数无效的接收请求来自根本无法解析的服务器地址,而表示状况的图形被压成极细小的一块,根本无法解读。而且显然你从那一大块“无法解析“的服务器来源中根本折腾不出什么有用的信息。在这种情况下,你可以在指令中if hostname:后面添加如下内容

if hostname :
dot = hostname.rfind(".")
if dot >= 0 :
ext = hostname[dot+1:]
else :
continue

运行上述命令,这时扇形图变为如图二所示。很有意思吧。直到编写这个实例,我才意识到相比起其它国家,我从以色列和巴西收到了这么多的垃圾邮件。有时候一幅清晰的示意图绝对胜过千言万语。

图二

图二


相关内容