Android 中Echarts创意设计

使用Echarts分别设计柱状图和折线图以及仪表图

1.仪表图:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 util.js -->
    <script src="util.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 100vw;height:100vh;"></div>
<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例  
        var myChart = echarts.init(document.getElementById('main'));
        // 指定图表的配置项和数据
        var option = {
            series : [
                {
                    type: 'gauge', //仪表图
                    startAngle: 0, //开始的角度
                    endAngle:350, //结束的角度
                    progress:{
                        show:true,
                        roundCap:true,
                        overlap:false,
                        clip:false,
                        itemStyle:{
                            borderWidth:1,
                            borderColor:'#464646'
                        }
                    },
                    data:[
                    {
                        value:20,
                        name:'库存容量(%)' //中间文字描述
                    }
                    ]
                }
            ]
        };
            var process = 100
        var ivt = setInterval(function(){
                option.series[0].data[0].value = process--;
                myChart.setOption(option);
        },150)

        setTimeout(function(){
    clearInterval(ivt)
    option.series[0].data[0].value = 0;
                myChart.setOption(option);
        },15000)
        // 开启以及关闭定时器
    </script>
</body>
</html>

2.柱状图:

		...
<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
var desc = []
var datas = []
        // 指定图表的配置项和数据
        var option = {
            xAxis:{
                type:'category', //汉字描述
                data:desc
            },
            yAxis:{type:'value',
        	name:'数量'},
            series : [
                {
                    type: 'bar',
                    data:datas,
                    itemStyle:{
                        show:true,
                        color:'blue'
                    }
                }
            ],animation:true,
            animationEasing:'linear',
            label:{
                show:true
            }
        };
        var position = 0;

        var arr = []
        arr[0] = "引擎"
        arr[1] = "车窗"
        arr[2] = "前车门"
        arr[3] = "后车门"
        arr[4] = "座位"
        arr[5] = "座椅"
        arr[6] = "车架"
        arr[7] = "车门"
        arr[8] = "发动机"
        arr[9] = "电力机"
        var ivt = setInterval(function(){
            desc.push(arr[position++])
            datas.push(Math.floor(Math.random()*20+1))
        myChart.setOption(option);
        },1500)

        setTimeout(function(){
                clearInterval(ivt)
        },15000)
	
  
    </script>
</body>
</html>

3.折线图:

 			...
<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
var desc = []
var datas = []
        // 指定图表的配置项和数据
        var option = {
            xAxis:{
                type:'category',
                data:desc
            },
            yAxis:{type:'value',
        name:'%'},
            series : [
                {
                    type: 'line',
                    data:datas
                }
            ],animation:true, 
            animationEasing:'linear'  //动画
        };
        var position = 1;
        var ivt = setInterval(function(){
            desc.push("环节"+(position++))
            datas.push(Math.floor(Math.random()*100+1))
        myChart.setOption(option);
        },1500)

        setTimeout(function(){
                clearInterval(ivt)
        },15000)

        // 使用刚指定的配置项和数据显示图表。
    </script>
</body>
</html>

4.引用Echarts:

public class Brand extends Fragment {

    @BindView(R.id.sm9_gauge)
    WebView sm9Gauge;
    @BindView(R.id.sm9_bar)
    WebView sm9Bar;
    @BindView(R.id.sm9_line)
    WebView sm9Line;
			...
			
        ButterKnife.bind(this,getView());
        sm9Gauge.loadUrl("file:///android_asset/gauge.html");
        sm9Bar.loadUrl("file:///android_asset/bar.html");
        sm9Line.loadUrl("file:///android_asset/line.html");
				
				//允许JS的使用
        sm9Gauge.getSettings().setJavaScriptEnabled(true);
        sm9Bar.getSettings().setJavaScriptEnabled(true);
        sm9Line.getSettings().setJavaScriptEnabled(true);
    }

}

5.最终成果展示:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值