原創(chuàng)|使用教程|編輯:鄭恭琳|2015-11-26 10:10:12.000|閱讀 5781 次
概述:本篇教程主要教大家如何修改圖表的尺寸來(lái)更好地適應(yīng)頁(yè)面的大小,以及如何修改圖表類(lèi)型。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
在FusionCharts中既可以通過(guò)像素又可以通過(guò)百分比(相對(duì)于其容器)來(lái)指定圖表的尺寸。若以像素為單位指定,那么無(wú)論在什么尺寸的屏幕或設(shè)備上查看圖表,圖表的尺寸都將保持不變。但是,如果該圖表的寬度和高度設(shè)定為容器的百分比,在渲染圖表時(shí)轉(zhuǎn)換為像素,如果容器的尺寸改變了,則圖表會(huì)自動(dòng)關(guān)聯(lián)其容器相應(yīng)的改變尺寸。
指定圖表的寬度和高度像素代碼如下:
< html> <head> <title>My first chart using FusionCharts Suite XT</title> <script type="text/javascript" src="fusioncharts/js/fusioncharts.js"></script> <script type="text/javascript" src="fusioncharts/js/themes/fusioncharts.theme.fint.js"></script> <script type="text/javascript"> FusionCharts.ready(function(){ var revenueChart = new FusionCharts({ "type": "column2d", "renderAt": "chartContainer", "width": "500", "height": "300", "dataFormat": "json", "dataSource": { "chart": { "caption": "Monthly revenue for last year", "subCaption": "Harry's SuperMart", "xAxisName": "Month", "yAxisName": "Revenues (In USD)", "theme": "fint" }, "data": [ { "label": "Jan", "value": "420000" }, { "label": "Feb", "value": "810000" }, { "label": "Mar", "value": "720000" }, { "label": "Apr", "value": "550000" }, { "label": "May", "value": "910000" }, { "label": "Jun", "value": "510000" }, { "label": "Jul", "value": "680000" }, { "label": "Aug", "value": "620000" }, { "label": "Sep", "value": "610000" }, { "label": "Oct", "value": "490000" }, { "label": "Nov", "value": "900000" }, { "label": "Dec", "value": "730000" } ] } }); revenueChart.render("chartContainer"); }) </script> </head> < body> <div id="chartContainer">FusionCharts XT will load here!</div> < /body> < /html>
如果你想創(chuàng)建一個(gè)根據(jù)其父容器尺寸自動(dòng)調(diào)整的圖表,你可以設(shè)置圖表的寬度和高度的百分比,代碼如下:
< html> <head> <title>My first chart using FusionCharts Suite XT</title> <script type="text/javascript" src="fusioncharts/js/fusioncharts.js"></script> <script type="text/javascript" src="fusioncharts/js/themes/fusioncharts.theme.fint.js"></script> <script type="text/javascript"> FusionCharts.ready(function(){ var revenueChart = new FusionCharts({ "type": "column2d", "renderAt": "chartContainer", "width": "100%", "height": "100%", "dataFormat": "json", "dataSource":{ "chart": { "caption": "Monthly revenue for last year", "subCaption": "Harry's SuperMart", "xAxisName": "Month", "yAxisName": "Revenues (In USD)", "theme": "fint" }, "data": [ { "label": "Jan", "value": "420000" }, { "label": "Feb", "value": "810000" }, { "label": "Mar", "value": "720000" }, { "label": "Apr", "value": "550000" }, { "label": "May", "value": "910000" }, { "label": "Jun", "value": "510000" }, { "label": "Jul", "value": "680000" }, { "label": "Aug", "value": "620000" }, { "label": "Sep", "value": "610000" }, { "label": "Oct", "value": "490000" }, { "label": "Nov", "value": "900000" }, { "label": "Dec", "value": "730000" } ] } }); revenueChart.render("chartContainer"); }) </script> </head> < body> <div id="parentContainer"> <div id="chartContainer">FusionCharts XT will load here!</div> </div> < /body> < /html>
你只需確保將圖表的父容器設(shè)置為根據(jù)瀏覽器尺寸改變或頁(yè)面上的其它改變(如元件被添加或刪除等)動(dòng)態(tài)改變自身的尺寸。
每當(dāng)容器元素調(diào)整尺寸,圖表也會(huì)立即調(diào)整自身的尺寸。
在某些情況下,如果HTML容器元素本身并沒(méi)有獲得適當(dāng)?shù)膶?度或高度(由于瀏覽器渲染錯(cuò)誤),圖表看起來(lái)像被擠壓,或出現(xiàn)在了不該出現(xiàn)的位置。如果發(fā)生這種情況,那么你就必須指定圖表的尺寸像素。
如果你已經(jīng)初始化了一個(gè)圖表,你還可以在客戶(hù)端通過(guò)調(diào)用resizeTo()方法動(dòng)態(tài)修改其尺寸。
JSON:
{ "chart": { "caption": "Monthly revenue for last year", "subCaption": "Harry's SuperMart", "xAxisName": "Month", "yAxisName": "Revenues (In USD)", "numberPrefix": "$", "theme": "fint" }, "data": [ { "label": "Jan", "value": "420000" }, { "label": "Feb", "value": "810000" }, { "label": "Mar", "value": "720000" }, { "label": "Apr", "value": "550000" }, { "label": "May", "value": "910000" }, { "label": "Jun", "value": "510000" }, { "label": "Jul", "value": "680000" }, { "label": "Aug", "value": "620000" }, { "label": "Sep", "value": "610000" }, { "label": "Oct", "value": "490000" }, { "label": "Nov", "value": "900000" }, { "label": "Dec", "value": "730000" } ] }
XML:
<chart caption="Monthly revenue for last year" subcaption="Harry's SuperMart" xaxisname="Month" yaxisname="Revenues (In USD)" numberprefix="$" theme="fint"> < set label="Jan" value="420000" /> < set label="Feb" value="810000" /> < set label="Mar" value="720000" /> < set label="Apr" value="550000" /> < set label="May" value="910000" /> < set label="Jun" value="510000" /> < set label="Jul" value="680000" /> < set label="Aug" value="620000" /> < set label="Sep" value="610000" /> < set label="Oct" value="490000" /> < set label="Nov" value="900000" /> < set label="Dec" value="730000" /> </chart>
如下圖所示,在Width和Height輸入框中輸入新的圖表尺寸,點(diǎn)擊Resize按鈕,就能動(dòng)態(tài)修改圖表的尺寸了。
在月收入圖表中,若你希望通過(guò)按一下按鈕就將柱形圖轉(zhuǎn)換成折線圖,標(biāo)準(zhǔn)的做法是創(chuàng)建一個(gè)折線圖實(shí)例,傳遞相同的JSON數(shù)據(jù),然后渲染它。
而FusionCharts通過(guò)chartType()方法使你輕松實(shí)現(xiàn)圖表類(lèi)型的更改。這種方法可以讓你從一個(gè)圖表類(lèi)型轉(zhuǎn)換為另一種圖表類(lèi)型(只要它們數(shù)據(jù)類(lèi)型相同,例如:?jiǎn)蜗盗校?br />
如下所示,點(diǎn)擊圖表下面的圖表類(lèi)型,就能傳染出相應(yīng)的圖表了:
代碼如下:
< html> <head> <script type="text/javascript" src="fusioncharts/js/fusioncharts.js"></script> <script type="text/javascript" src="fusioncharts/js/themes/fusioncharts.theme.fint.js"></script> <script> FusionCharts.ready(function () { var radio = [], radElem, val, revenueChart = new FusionCharts({ "type": "column2d", "renderAt": "chartContainer", "width": "500", "height": "300", "dataFormat": "json", "dataSource": { "chart": { "caption": "Monthly revenue", "subCaption": "Last year", "xAxisName": "Month", "yAxisName": "Revenue (In USD)", "numberPrefix": "$", "theme": "fint" }, "data": [ { "label": "Jan", "value": "420000" }, { "label": "Feb", "value": "810000" }, { "label": "Mar", "value": "720000" }, { "label": "Apr", "value": "550000" }, { "label": "May", "value": "910000" }, { "label": "Jun", "value": "510000" }, { "label": "Jul", "value": "680000" }, { "label": "Aug", "value": "620000" }, { "label": "Sep", "value": "610000" }, { "label": "Oct", "value": "490000" }, { "label": "Nov", "value": "900000" }, { "label": "Dec", "value": "730000" } ] } }); revenueChart.render(); radio = document.getElementsByTagName('input'); for (i = 0; i < radio.length; i++) { radElem = radio[i]; if (radElem.type === 'radio') { radElem.onclick = function(){ val = this.getAttribute('value'); val && revenueChart.chartType(val); }; } } }); </script> </head> < body> <div id="chartContainer">FusionCharts will render here</div> <div id='controllers'> <label><input name='chart-type' id='line' type='radio' value='line' /> Line chart</label> <label><input name='chart-type' id='bar' type='radio' value='bar2d' /> Bar chart</label> <label><input name='chart-type' id='column' type='radio' value='column2d' checked='true' /> Column chart</label> </div> < /body> < /html>
你還可以提供一個(gè)新的數(shù)據(jù)源和格式作為chartType(chartType, options)方法的第二個(gè)可選參數(shù),用來(lái)根據(jù)圖表修改其數(shù)據(jù)。
購(gòu)買(mǎi)最新正版授權(quán)!""
慧都年終盛典火爆開(kāi)啟,一年僅一次的最強(qiáng)促銷(xiāo),破冰鉅惠不容錯(cuò)過(guò)!!優(yōu)惠詳情點(diǎn)擊查看>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn