飞雪团队

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2220|回复: 0

Google Chart API

[复制链接]

4137

主题

4225

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
14711
发表于 2022-2-7 22:05:21 | 显示全部楼层 |阅读模式
上周,Google公布了制图服务(Google Chart)的接口,可以用来为统计数据自动生成图片。
                                                                                                                这项服务用起来相当简单,不用安装任何软件,只使用浏览器就可以。比如,在浏览器的地址栏中,键入如下的地址:
http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello|World&chtt=Hello+World,
就可以看到下面的图片:

各个参数的含义:
  * cht(chart type):图表种类,cht=p3表示生成3D饼图。
  * chs(chart size):图表面积,chs=250x100表示宽200像素,高100像素。
  * chtt(chart title):图表标题,chtt=Hello+World表示标题是Hello World。
  * chd(chart data):图表数据,chd=s:hW表示数据是普通字符串(simple string)hW。目前,允许的编码选择有simple (s)、extended (e)和text (t)。
目前,Google Chart一共提供五种图,分别是折线图(line charts)、条状图(bar charts)、饼图(pie charts)、Venn图(venn diagrams)和散点图(scatter plots)。

下面,我根据说明文档,简单介绍一下,如何生成最常见的条状图和饼图。
条状图
下面这张表是各大洲最高峰一览表。
山峰高度(单位:米)
珠穆朗玛峰(亚洲)8848
乞力马扎罗山(非洲)5895
厄尔布鲁士山(欧洲)5642
麦金利山(北美)6194
阿空加瓜山(南美)6960
查亚山(大洋洲)5029
文森山(南极洲)5140
根据上表,可以生成下面的条状图:

使用的网址是:
http://chart.apis.google.com/chart?
chs=250x250&
chd=t:88.48,58.95,56.42,61.94,69.60,50.29,51.40&
cht=bvs&
chco=ff0000&
chf=c,s,76A4FB|bg,s,FFF2CC&
chxt=x,y&
chxl=0:|Asia|Afri|Euro|AmeN|AmeS|Ocea|Anta|1:|0|5km|10km


虽然这个网址看起来很复杂,但实际上很容易编写,请跟着我一项项分解:
1. http://chart.apis.google.com/chart?
这部分是google图表服务的网址,所有生成的图表都必须使用这个网址。
"?"后面跟的是参数,格式是"参数名=参数值"。不同的参数之间用"&"分割,次序无所谓。
2. chs=250x250
这一项表示图片的面积,宽x长,单位是像素。
面积最大不能超过30万像素,长和宽最大不超过1000像素。比如,如果上图放大一倍,可以使用chs=500x500。
3. chd=t:88.48,58.95,56.42,61.94,69.60,50.29,51.40
这一项"chd=t:"表示图表所用的数据集,最小的值是0.0,最大的值是100.0。
因此,山峰的高度必须改写为88.48、58.95、56.42、61.94、69.60、50.29、51.40,数据与数据之间用逗号分割。
4. cht=bvs
这一项表示所使用的图表类型,bvs表示"竖直条形图",bhs表示"水平条形图",lc表示折线图。
5. chco=ff0000
这一项表示条块的颜色,ff0000表示红色。如果想生成蓝色条块,就使用0000ff。
6. chf=c,s,76A4FB|bg,s,FFF2CC
这一项表示填充色,其中又分为两个部分。
"c,s,76A4FB"表示内容部分(c)用蓝色(76A4FB)填充,"bg,s,FFF2CC"表示背景色(bg)用淡黄色(FFF2CC)填充。它们之间用竖线"|"分割。
7. chxt=x,y
这一项表示坐标轴采用底部的x轴和左边的y轴。
8. chxl=0:|Asia|Afri|Euro|AmeN|AmeS|Ocea|Anta|1:|0|5km|10km
这一项表示坐标轴的刻度。
由于只能使用英语,所以x轴的刻度是各大洲的英语缩写,用"0:"开头,y轴的刻度是5千米和1万米,用"1:"开头,所有数据之间用竖线分割。
饼图
下面再举一个饼图的例子。
假定某商场上半年各月份的销售额占总销售额的比例,依次为19%、21%、14%、16%、15%和15%。那么画成饼图,就是下面的样子:

使用的网址是:

http://chart.apis.google.com/chart?
chs=250x100&
chd=t:19,21,14,16,15,15&
cht=p3&
chco=ff0000&
chl=Jan|Feb|Mar|Apr|May|June


与上面的条状图相比,只有两个地方需要说明。
1. cht=p3
这一项表示图片类型为三维饼图,如果使用二维饼图,这一项要改为"cht=p"。
2. chl=Jan|Feb|Mar|Apr|May|June
这一项表示为饼图中每一项数据加上图例。
更多的选项和如何使用多个数据集,请参考Google Chart的说明文档。
(完)
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|飞雪团队

GMT+8, 2024-4-28 00:44 , Processed in 0.061259 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表