javascript - echarts做的兩個(gè)圖表,安卓的怎么傳參數(shù)過(guò)來(lái)??
問題描述
echarts做的兩個(gè)圖表,安卓的怎么傳參數(shù)過(guò)來(lái)??代碼如下::<script type='text/javascript'>
function setEchart(data,nums){ var myChart = echarts.init(document.getElementById(’zh-chart’)); var option = {title:{ text:’每小時(shí)的起飛航班總數(shù)和每小時(shí)的航班延誤數(shù)對(duì)比分析’, padding:[10,10], x: ’center’, align: ’right’, textStyle: {color: ’#fff’,fontSize: 14, }},tooltip : { trigger: ’axis’, axisPointer : {type : ’shadow’ }, textStyle: {color: '#2088C2',fontSize: 12 },},legend: { data:[’每小時(shí)的起飛航班總數(shù)’,’每小時(shí)的航班延誤數(shù)’], textStyle: {color: ’#fff’,fontSize: 14, }, padding:[35,15]},xAxis : [ {type : ’category’,// data : [’050416’,’050417’,’050418’,’050419’,’050420’,’050421’,’050422’,’050423’,’050500’,’050501’,’050502’,’050503’,’050504’,’050505’,’050506’,’050507’,’050508’,’050509’,’050510’,’050511’,’050512’,’050513’,’050514’,’050515’],data:data,nameTextStyle: { color: ’#fff’, fontSize: 14,},axisLine: { lineStyle: {color: ’#ccc’ }},axisLabel: { textStyle: {color: '#9ea4ba',fontSize: 13 }} }],yAxis : [ {type : ’value’,nameTextStyle: { color: ’#fff’, fontSize: 14},splitLine: { show: false},axisLine: { lineStyle: {color: ’#ccc’ }},axisLabel: { textStyle: {color: '#9ea4ba',fontSize: 13 },} }],series : [ {name:’每小時(shí)的起飛航班總數(shù)’,type:’bar’,itemStyle: { normal: {barBorderRadius: 5,color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{offset: 0, color: ’#14c8d4’},{offset: 1, color: ’#43eec6’} ]) }},// data:[1, 0, 0, 0, 0, 3,12, 21, 14, 10, 17, 14, 14,16, 15, 14, 13, 15, 15,10,12,10, 15, 5]data:nums, }, {name:’每小時(shí)的航班延誤數(shù)’,type:’bar’,itemStyle: { normal: {barBorderRadius: 5,color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{offset: 0, color: ’#ce0320’},{offset: 1, color: ’#f71334’} ]) }},data:nums, }] }; myChart.setOption(option); window.onresize=function(){myChart.resize() }}setEchart();function setchart2(dataRate,numRate){ var myChart2 = echarts.init(document.getElementById(’zh-cahrt2’)); var option2 = {title:{ text:’全天總正常率和每小時(shí)正常率統(tǒng)計(jì)對(duì)比分析’, padding:[10,10], x: ’center’, align: ’right’, textStyle: {color: ’#fff’,fontSize: 14, }},tooltip : { trigger: ’axis’, axisPointer : { type : ’shadow’ }, textStyle: {color: '#2088C2',fontSize: 12 },},legend: { data:[’24小時(shí)的總正常率統(tǒng)計(jì)’,’每小時(shí)的正常率統(tǒng)計(jì)’], textStyle: {color: ’#fff’,fontSize: 14, }, padding:[35,15]},xAxis : [ {type : ’category’,// data : [’050416’,’050417’,’050418’,’050419’,’050420’,’050421’,’050422’,’050423’,’050500’,’050501’,’050502’,’050503’,’050504’,’050505’,’050506’,’050507’,’050508’,’050509’,’050510’,’050511’,’050512’,’050513’,’050514’,’050515’],data:dataRate,nameTextStyle: { color: ’#fff’, fontSize: 16,},axisLine: { lineStyle: {color: ’#ccc’ }},axisLabel: { textStyle: {color: '#9ea4ba',fontSize: 13 }} }],yAxis : [ {type : ’value’,nameTextStyle: { color: ’#fff’, fontSize: 16},splitLine: { show: false},axisLine: { lineStyle: {color: ’#ccc’ }},axisLabel: { textStyle: {color: '#9ea4ba',fontSize: 13 },} }],series : [ {name:’24小時(shí)的總正常率統(tǒng)計(jì)’,type:’line’,itemStyle: { normal: {barBorderRadius: 5,color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{offset: 0, color: ’#14c8d4’},{offset: 1, color: ’#43eec6’} ]) }},// data:[0, 0, 0, 0, 0,25, 81.25,83.78, 86.27,88.52, 91.03,91.3, 91.51,91.8, 91.97, 92.05,92.68, 92.74, 91.24,91.18,90.28,90.71, 90.04, 89.02]data:numRate, }, {name:’每小時(shí)的正常率統(tǒng)計(jì)’,type:’line’,itemStyle: { normal: {barBorderRadius: 5,color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{offset: 0, color: ’#ce0320’},{offset: 1, color: ’#f71334’} ]) }},// data:[0, 100, 100, 100, 100, 33.33,100, 85.71, 100, 100, 100, 92.86, 92.86,93.75, 93.33, 92.86, 100, 93.33, 73.33,90,75,100, 80, 40]data:numRate }] }; myChart2.setOption(option2); window.onresize=function(){myChart2.resize() }}setchart2();
</script>那個(gè)安卓的說(shuō)他那邊解析數(shù)據(jù),讀取后臺(tái),,然后給我傳參數(shù),,我就定義了兩個(gè)方法,每個(gè)方法里兩個(gè)參數(shù)數(shù)組類型,,(兩個(gè)圖表里分別有兩條數(shù)據(jù)),,,這樣不知道對(duì)不對(duì)????大神們可以給提出思路嗎??
問題解答
回答1:安卓傳參數(shù)是字符串,所以可以直接傳JSON 字符串,web 端JSON.Stringify 解析即可。
回答2:我推測(cè)你這個(gè)是Hybrid開發(fā),你是負(fù)責(zé)H5頁(yè)面的。Native端已經(jīng)從后臺(tái)獲取到數(shù)據(jù),需要把數(shù)據(jù)轉(zhuǎn)發(fā)給你,然后畫圖表。你現(xiàn)在不明白的是Android如何把數(shù)據(jù)傳給你,并且數(shù)據(jù)格式是怎樣的。你可以看下我這個(gè)回答/q/10...,先把Native與H5之間的數(shù)據(jù)傳輸理清楚,回到你的問題上來(lái),Native通過(guò)類似如下代碼調(diào)用你在H5界面中寫的方法,webview.loadUrl(javascript:yourFunc(data););,傳遞的data是字符串,你們可以自己定格式,通常是JSON字符串,你需要把這個(gè)字符串轉(zhuǎn)化成JSON,然后通過(guò)key獲取就可以了
