美文网首页echarts中国
echarts表格绘制

echarts表格绘制

作者: jacklin1992 | 来源:发表于2016-10-22 21:20 被阅读2577次

总结

基本上看手册都能看懂,值得一提的是自适应布局的做法:
首先响应式布局要把之前的设置放进baseOption: {}里面,并在下面加上media[],这些都可以看手册。但是这样做好之后需要先调整页面大小,并且刷新页面才能实现改变,解决方法如下:

window.onresize = myChart.resize;
myChart.setOption(option);

每次窗口大小改变的时候都会触发onresize事件,这个时候我们将echarts对象的尺寸赋值给窗口的大小这个属性,从而实现图表对象与窗口对象的尺寸一致的情况
参考链接

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="Tools/echarts.js"></script>
    <style>*{padding: 0px;margin: 0px;}</style>
</head>

<body style="width:100%">
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 80%;height:400px;margin:0 auto;border: 1px             red solid"></div>
<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('main'));

    //定义数据
    var p_real,p_bottom,p_open,p_close,p_top;
    p_bottom = 5430;
    p_top = 5480;
    p_close = 5470;
    p_open = 5450;
    var dates = [];
    var data2 = [];
    var data = [];
    var data_new = [];
    var counter = 0;
setInterval(function(){
    //开盘,收购盘,最低,最高,实时价
    p_real = Math.ceil(Math.random()*5550+5440);
    if(p_real>p_top)p_top=p_real;
    if(p_real<p_bottom)p_bottom=p_real;
    p_close = p_real;
    data_cart = [p_open,p_close,p_bottom,p_top];
    if(counter%3==0)
    {
        data.push(data_cart);
        dates.push('time');
        p_open = Math.ceil(Math.random()*5500+5400);
    }else{
        data[data.length-1] = data_cart;
    }

    var option = {
        baseOption: {

        backgroundColor: '#21202D',
        legend: {
            data: ['日K', 'close'],
            inactiveColor: '#777',
            textStyle: {
                color: '#fff'
            }
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                animation: false,
                lineStyle: {
                    color: '#376df4',
                    width: 2,
                    opacity: 0
                }
            }
        },
        xAxis: {
            type: 'category',
            data: dates,
            axisLine: {lineStyle: {color: '#8392A5'}}
        },
        yAxis: {
            min: 0,
            max: 12000,
            scale: true,
            axisLine: {lineStyle: {color: '#8392A5'}},
            splitLine: {show: false}
        },
        animation: false,
        series: [
            {
                type: 'candlestick',
                name: '日K',
                data: data,
                markLine: {
                  symbol: ['none', 'none'],
                   data: [
                        [
                            {name: '标线2起点', value: data[data.length - 1][1], x:     150, y: data[data.length - 1][1]},
                            {name: '标线2终点', x: 1300, y: data[data.length - 1][1]}
                        ]
                    ]


                },

                itemStyle: {
                    normal: {
                        color: '#FD1050',
                        color0: '#0CF49B',
                        borderColor: '#FD1050',
                        borderColor0: '#0CF49B'
                    }
                }
            },
            {
                name: 'close',
                type: 'line',
                data: ['100'],
                smooth: true,
                lineStyle: {
                    normal: {opacity: 0.5}
                }
            }
        ],
        dataZoom: [
            {
                type: 'slider',
//                show:false,
//                zoomlock:true,
                filterMode: 'filter',
                start: 50,
                end: 100,
                labelPrecision: 10,
                showDetail: false,
                realtime: true
//                orient:'vertical'
            }
        ]
    },
        media:[{
            query: {
                maxWidth:500
            },
            option: {
                legend: {                   // legend 放在底部中间。
                    right: 'center',
                    bottom: 0,
                    orient: 'horizontal'    // legend 横向布局。
                },
                series:  [
                    {
                        itemStyle: {
                            normal: {
                               color: 'red',
                                color0: '#0CF49B',
                                borderColor: 'red',
                                borderColor0: 'red',
                                width:'100%'
                            }
                        }
                    }

                ]


            }
        }
        ]

    };
    window.onresize = myChart.resize;
    myChart.setOption(option);
    counter++;
    },500);
</script>
</body>
</html>

相关文章

网友评论

    本文标题:echarts表格绘制

    本文链接:https://www.haomeiwen.com/subject/vpphuttx.html