amcharts的使用

作者:zccst

amcharts,应该跟fusionCharts和HightCharts一样,是首选。

fusionCharts目前已经基本弃用。(原因是引用了很多Flash)

其实,主要也就amcharts和HightCharts。其他的还在了解中


1,后来发现中文文档真是差劲,根本解决不了我的问题。
比如,我希望饼图填满整个正方形区域。

经查询API才知道有一个radius和minRadius的属性,解决了我的问题。所以还得是官方文档啊!

原版API地址(饼图的):
[url]http://docs.amcharts.com/3/javascriptcharts/AmPieChart[/url]

2,还有,重新设置数据后chart.validateNow();兵没有立即生效,查询API后才发现,应该调用validateData()
两者的区别:
validateData() This method should be called after data in your data provider changed or a new array was set to dataProvider. After calling this method the chart will parse data and redraw.
validateNow() This method should be called after you changed one or more properties of any class. The chart will redraw after this method is called.
详见AmChart API:[url]http://docs.amcharts.com/3/javascriptmaps/AmChart[/url]


3,想获取渲染之后各块的颜色值(饼图的各个组成部分)
在PHP端定义一个数组:

public $pieColors = array("#FF0F00", "#FF6600", "#FF9E01", "#FCD202", "#F8FF01", "#B0DE09", "#04D215", "#0D8ECF", "#0D52D1", "#2A0CD0", "#8A0CCF", "#CD0D74", "#754DEB", "#DDDDDD", "#999999", "#333333", "#000000", "#57032A", "#CA9726", "#990000", "#4B0C25");

并在action中传到前端 'pieColors' => $this->pieColors ;

在js端:

var pieColors = JSON.parse('<?php echo json_encode($pieColors);?>');//注意有延迟,不能直接赋值
chart.pieColors = pieColors;

在HTML中:循环每一个$index时

<?php foreach ($xxxxx as $index=>$item) {?>
<div style="width:10px;height:10px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:<?php echo $pieColors[$index]; ?>"></div>
<?php }?>


最终的参数:

chart = new AmCharts.AmPieChart();
chart.dataProvider = data;
chart.titleField = "name";
chart.valueField = "money";
chart.radius = 58;//minRadius最小半径,width/2,height/2中的最小值
chart.labelText = ""; //chart.labelText = "[[percents]]%";
chart.balloonText = "";//鼠标悬浮在charts时的文字
chart.pieColors = pieColors;
chart.clickSlice = function(){//取消点击事件
return false;
}
chart.write("pieCharts");



a​m​c​h​a​r​t​s​图​表​使​用​总​结
[url]http://wenku.baidu.com/link?url=DiECsZ1f94wkFKUmacZG44uJ4eD3OS_qYPJ6vtxGv0PQjPchXcDLVXmNCSmz1IcTLzMNloDy4sgaRC9213wuBZ5_Uly8dGIni_sfCD6xILe[/url]


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
[img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
xml <!-- [xml] (xml / csv) 数据类型xml/csv--> ; <!-- 如果使用csv作为数据的话,需要使用这个属性;表示文件数据分隔符,(平常以";"和","为主) [;] (string) csv file data separator (you need it only if you are using csv file for your data) --> 1 <!-- 如果使用的是csv数据,可以设置跳过几行再显示数据,默认为0表示csv中的数据全部显示,大于n(n>0);表示前面n行都不显示[0] (Number) if you are using csv data type, you can set the number of rows which should be skipped here --> <!-- 设置系统中的字体[Arial] (font name) use device fonts, such as Arial, Times New Roman, Tahoma, Verdana... --> <!-- 设置所有文本的大小,默认为11,具体的文本的字体大小也可以在下面的设置中设置[11] (Number) text size of all texts. Every text size can be set individually in the settings below --> <!-- 同上[#000000] (hex color code) main text color. Every text color can be set individually in the settings below--> . <!-- 小数分隔符,默认为[,]注:该属性只是用来显示,而在csv数据文件中,必须使用[.] (string) decimal separator. Note, that this is for displaying data only. Decimals in data xml file must be separated with a dot --> <!-- 千位分隔符,默认为空[ ] (string) thousand separator. use "none" if you don't want to separate --> 3 <!-- 如果百分数格式的数字,后面的小数位小于该属性的值,则在小数后面加0补充。如54.2%,该属性设置为3,那么显示的效果为54.200%。[] (Number) if your value has less digits after decimal then is set here, zeroes will be added --> <!--设置科学记数法的最小值 [0.000001] If absolute value of your number is equal or less then scientific_min, this number will be form
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值