存档在 ‘Excel相关’ 分类中.

Google Chart API指南(3)

前面部分参见Google Chart API指南(2)
图表尺寸
使用chs=<width in pixels>x<height in pixels>指定图表尺寸,例如,chs=300×200生成300像素宽和200像素高的图表。
图表的最大可能区域是300000像素。最大极限的高度或宽度是1000像素,最大尺寸的例子是1000×300、300×1000、600×500、500×600、800×375和375×800。
图表数据
下面的编码格式是有用的:

  • 简单的编码有62种不同值的精度。允许每个数据点五个像素,对于折线图和条形图达到大约300像素是足够的。简单的编码适合于所有其他类型的图表而不管其大小。
  • 文本编码有1000种不同值的精度,使用在0.0和100.0之间的浮点数字。允许每个数据点五个像素,整数(1.0、2.0,等等)对于折线图和条形图达到大约500像素是足够的。如果需要更高的精度,包括单个的小数位(例如35.7)。文本编码适合于所有其他类型的图表而不管其大小。
  • 扩展的编码有4096种不同值的精度,最好用于需要大数据范围的大图表。

注意:文本编码需要几个字符来编码单个的数据点。简单的编码是最有效的,只为每个数据点使用一个字符。
简单的编码
使用chd=s:<chart data string>指定简单的编码,其中<chart data string>包含字符:A到Z、a到z、0到9、下划线(_)和逗号(,)。
注意:

  • 大写字母A = 0、B = 1 …… Z = 25 。
  • 小写字母a = 26、b= 27 …… z = 51。
  • 零 (0) = 52 …… 9 = 61。
  • 使用下划线(_)指定忽略的值。
  • 如果有多组数据,使用逗号(,)分隔每一组。

例如,两组数据:chd=s:ATb19,Mn5tz,其中在每一个数据组中 — A代表0,T 代表19,b 代表27,1 代表53,9 代表 61。
注意:对于简单的编码,Chart API在图表的底部使用值0绘制点,在顶部为61,沿着y轴均匀展开所有其他值。
文本编码
使用chd=t:<chart data string>指定文本编码,其中<chart data string>由从0(0.0)到100.0的浮点数、-1和管道字符(I)组成。
注意:

  • Zero (0.0) = 0, 1.0 = 1 and so on up to 100.0 = 100.
  • 零(0.0)=0,1.0=1…….直到100.0=100。
  • 使用-1指定忽略的值。
  • 如果有多组数据,使用管道字符(I)分隔每组数据。

例如:chd=t:10.0,58.0,95.0|30.0,8.0,63.0
注意:对于文本编码,Chart API在图表底部使用值0绘制点,在顶部为100.0,沿着y轴均匀展开所有其他值。
扩展的编码
使用chd=e:<chart data string>指定扩展的编码,其中<chart data string>包含成对字符:A 到 Z, a 到 z, 0 到 9, 连字号 (-), 句点 (.), 下划线 (_), 和逗号 (,).
注意:

  • AA = 0, AZ = 25, Aa = 26, Az = 51, A0 = 52, A9 = 61, A- = 62, A. = 63
    BA = 64, BZ = 89, Ba = 90, Bz = 115, B0 = 116, B9 = 125, B- = 126, B. = 127
    .A = 4032, .Z = 4057, .a = 4058, .z = 4083, .0 = 4084, .9 = 4093, .- = 4094, .. = 4095.
  • 使用两个下划线(__) 指定忽略的字符。
  • 如果有多组数据,使用逗号(,)分隔每组数据。

注意:对于文本编码,Chart API在图表底部使用值0绘制点,在顶部为4095,沿着y轴均匀展开所有其他值。
编码数据的JavaScript代码片断
编程转换现实数据成Chart API数据比手工转换更容易。
下面的JavaScript代码片断编码数据组成简单的编码。必须提供正数的数组作为数据组,不是正数的数据组值被编码为使用下划字符(_)的忽略值。
调用simpleEncode函数传递数组(values)和数组中的最大值(maxValue)。对于折线图和条形图,如果希望在最大值和图表顶部之间有空间,则使maxValue比数组中的最大值更大。
var simpleEncoding = ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789′;

function simpleEncode(values,maxValue) {

var chartData = ['s:'];
  for (var i = 0; i < values.length; i++) {
  var currentValue = values[i];
  if (!isNaN(currentValue) && currentValue >= 0) {
  chartData.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1) * currentValue / maxValue)));
  }
  else {
  chartData.push(’_');
  }
  }
return chartData.join(”);
}
间隔尺寸的引导线
当心不要高估图表所需要的数据点数字。例如,要显示过去10年期间Britney Spears是如何流行,汇总每天搜集的查询导致多于3600个值。这将在URL中传递太多的数据,同时以这个间隔尺寸绘制图形没有意义:在1024像素宽的屏幕中一个数据点在屏幕中大约是一个像素的四分之一。正如下面的例子所演示的。
200×100的图表,具有20个数据点(每个数据点10像素):
GooglechartAPISample22
40个数据点(每个数据点5像素):
GooglechartAPISample23
80个数据点(每个数据点仅2.5像素):
GooglechartAPISample24
待续……

标签: , ,

Microsoft开放Office二进制文档格式规范

众所周知,在Microsoft Office 2007中,微软引入了一种全新的文档格式:Open XML。由于Open XML是一种开放的文档格式(基于两种开放技术:XML、Zip),所以解决了过去Microsoft Office所使用的二进制文档难以交互、难以被第三方应用程序访问的问题。
但是自从微软决定将Open XML提交给ISO之后,从业界的反馈来看,很多人仍然非常关心过去的二进制文档格式(.doc, .xls, .ppt),并希望能得到其相关的技术细节文档。
经过慎重的考虑,Microsoft决定将Microsoft Office所使用的二进制文档格式公开。任何人和企业,在不违反相关协议的前提下,都可以免费得到其技术规范文件。现在,无论是全新的Open XML格式文档,还是过去的二进制格式文档,都不会再有人,或者企业,抱怨微软“藏着掖着”了吧。:)
这里是Microsoft Office 2007二进制文件格式协议(Microsoft Office 2007 Binary File Format Documentation Agreement)
这里是Microsoft的一篇文章:如何使用Office文件格式和架构从Office文件中提取信息(How to extract information from Office files by using Office file formats and schemas)
有兴趣的朋友可以研读。

标签: 没有标签

Google Chart API指南(2)

URL格式
Google Chart API URLs必须按照下面的格式:
http://chart.apis.google.com/chart?<parameter 1>&<parameter 2>&<parameter n>

注意:每个URL必须在一行内。
必须使用&字符分隔。能够以任意顺序指定多个参数,例如,下面的图表相应的URL为:
GoogleChartAPIchart1
http://chart.apis.google.com/chart?
chs=200×125
&chd=s:helloWorld
&cht=lc
&chxt=x,y
&chxl=0:|Mar|Apr|May|June|July|1:||50+Kb其中:

  • http://chart.apis.google.com/chart?是Chart API的位置。
  • & 分隔参数。
  • chs=200×125是图表的大小,以像素为单位。
  • chd=s:helloWorld是图表的数据。
  • cht=lc是图表的类型。
  • chxt=x,y 指明必需的x轴和y轴标签。
  • chxl=0:|Mar|Apr|May|June|July|1:||50+Kb是x轴和y轴标签。

可能会奇怪helloWorld如何映射数据值?这是一个简单的编码示例,文字数字字符映射从0到71范围的值。现在不需要担心不理解这些映射,在后面将会介绍。
通过嵌入URL在<img>标签内能够在HTML文档中包括Chart API图像。例如,下面的<img>标签生成与上面相同的图像:

<img src=”http://chart.apis.google.com/chart?
chs=200×125
&chd=s:helloWorld
&cht=lc
&chxt=x,y
&chxl=0:|Mar|Apr|May|June|July|1:||50+Kb”
alt=”Sample chart” />

注意:当在HTML的<img>标签中嵌入URL时,在放置&的位置应使用完整的字符引用&
必需的和可选的参数
必须提供下面的参数:

  • 图表大小(Chart size )
  • 图表数据(Chart data)
  • 图表类型(Chart type)

所有其他的参数都是可选的,下表列出了图表类型可选的参数。

参数 折线图 散点图 条形图 维恩图 饼图
图表标题 Yes Yes Yes Yes Yes
图表图例 Yes Yes Yes Yes
颜色 Yes Yes Yes Yes Yes
图表和背景填充 Yes Yes Yes Yes Yes
多个轴标签 Yes Yes Yes
网格线 Yes Yes
形状标记 Yes Yes
水平区域标记 Yes Yes
垂直区域标记 Yes Yes
线条样式 Yes
填充区 Yes
饼图标签 Yes

下面详细介绍各参数。

标签: ,

Google Chart API介绍

Google Chart API能动态生成图表。要查看Chart API的行为,打开浏览器窗口并输入下面的URL:
http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250×100&chl=Hello|World
按Enter链(回车键),将看到下面的图像:
GoogleAPIchartSample1
Google Chart API返回一个与输入的URL相对应的PNG格式的图像。能够生成几种类型的图像,例如折线图、条形图、饼图。对每种类型,能指定其属性,例如大小、颜色和标签。
通过在<img>标签里嵌入URL,在网页中包含Chart API图像。当在浏览器中显示该网页时,Chart API在页面中产生图像。
要查看由Chart API生成的图像的URL:

  • 如果使用Firefox浏览器,那么在其上右击后选择“查看图像”或“属性”。
  • 如果使用IE浏览器,那么在其上右击后选择“属性”。

随后的一系列相关文档将介绍Chart API URLs必需的格式和可用的参数。

标签: , ,