从标准数据饼图初步看CorelDraw的另一种用法
2008-04-09 04:36:59来源:互联网 阅读 ()
CD在以前的版本(版本6以前)中是带有表格功能的,叫CorelChart,支持的格式远比现在的AI
CS和FH MX要多,我记忆中共有十三种之多,只是不支持中文,真的需要中文只能先做好表格后再将问题替换掉。现在的CD没有工具直接生成表格了,所以不少人觉得CD没有办法精确生成表格比例图了。然而,有一点是大家忽略的地方,CD是一个充分考虑端口开放的软件(这一点其它软件都很难做到),我们可以通过这个特性来做出自己的算法,以CD能接受的方式将数据传递过去。
我以下就以精确比例饼图做为例子,对CD的另一种使用方法——Action Script做以最初步的窥探。
这个样例的数据如下:
对于矢量软件来说,一个矢量图形必然有一段与之对应的、唯一的描述,这些描述就是软件执行计算所用到的公式中必不可少的参数。在用户使用矢量软件的工具绘制或更改一个图形的时候,其实就是在更改这些数。——如果用户使用的矢量软件提供可视化数值功能的话,在你绘图或更改图形的过程中你会看到这些参数的数值会根据你的光标操作而改变,如:
在这一点上,使用什么矢量软件并无差别。
需要有Excel一样的输入界面——这么个界面就是所谓的“人机对话”。之所以要有人机对话,因为人不懂机器的语言,机器不懂人的语言。所以绘图软件就设立了很多可视性的界面。隐藏在“人机对话”后面的就是机器听得懂的语言。
CD之所以说它端口开放,因为它的函数是开放的,遵循VB的格式。也因为它的参数是开放的,是一个支持VB格式表达式的变量。换句话说,只要是VB支持的计算方式,CD就支持——这就包括了VB的系统函数、自定义函数、数组等等。
比较成熟的矢量软件数值输入框的数值都接受简单的运算公式例如:
3 2、20/5........
FH和AI都支持。
但是CD的数值支持更多,你可以在CD的输入框中输入具有优先运算的表达式,CD就能按你的意思计算出正确的数值,如:
(50 20 10 5 2)/360*50
但你在FH和AI中,你做不到。CD甚至还直接支持sin、tag等系统定义的数学函数。感兴趣的不妨一试。只是CD的数据输入框太小,无法看完输入的字符,得比较小心操作,以免误留残余字符导致计算出的值并非你想要的数值而已。
在前面我说到CD支持运算公式例如——50/(50 20 10 5 2)*360。这个公式就是饼图中计算数据比例的公式,计算出的值就是qin走在街头15-20岁PLMM回头率(为了满足Qin的奢望,呵呵,把年龄段给放宽了),这是很简单的数学计算,就此带过。
既然懂得计算公式了就可以开始绘图了。
先将公式打好。Crtl C拷贝。
绘制一正圆,快速拷贝多四份,然后居中对齐。
在“扇形终点”中输入“0”,在“扇形起点”输入“50/”,然后Crtl V,实际上“扇形起点”中的输入值为“50/(50 20 10 5 2)*360”。然后你得到下面图形:
第二个物体的终点为第一个物体的起点,所以是“50/(50 20 10 5 2)*360”,起点是“(20 50)/(50 20 10 5 2)*360”,依此类推,就得到了所有的物体。
这是一个很笨的方法,每次都直接手动告诉CD要算什么。但这只是开始。
我在这个例子中频繁的使用计算公式,这个绘图的过程是完全可以以Script的形式写出来的,因为CD9的Script是纯文本格式的。
一个饼图的数据如下:
X1,X2,X3......Xn
比例数据计算公式为:
0/(X1 X2 X3 ...... Xn)*360
X1/(X1 X2 X3 ...... Xn)*360
(X1 X2)/(X1 X2 X3 ...... Xn)*360
(X1 X2 X3)/(X1 X2 X3 ...... Xn)*360
.......
(X1 X2 X3 ...... Xn)/(X1 X2 X3 ...... Xn)*360
对于圆来说0度的位置和360度的位置是相等的。所以在这个公式不会存在误差问题。
在这里我对“函数”说明一下。
Script中的函数不仅仅是数学意义上的函数。数学函数只是当中的一种。Script中的函数实际上是一组命令,包括逻辑判断、循环指令、运算公式......等等等等。一个完整、通用的Script是允许用户更改参数数值的,然后Script可以根据用户的数值做以判断,并最终算出用户想得到的结果。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash