echarts

作者: 白雪公主960 | 来源:发表于2018-10-26 11:50 被阅读5次

echart 入门教程 http://www.imooc.com/view/687

一.浏览器画图原理简介

1.Canvas

基于像素,单个html,类似于画笔在画布上画画,详情可见html5中的canvas介绍。Echarts基于canvas画图。
以下是一个canvas的简单例子,html中

<!-- 添加canvas标签,并加上红色边框以便于在页面上查看 -->
<canvas id="myCanvas" width="400px" height="300px">
您的浏览器不支持canvas标签。
</canvas>

js中

//获取Canvas对象(画布)
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");  
//开始一个新的绘制路径
ctx.beginPath();
//设置弧线的颜色为蓝色
ctx.strokeStyle = "blue";
var circle = {
    x : 100,    //圆心的x轴坐标值
    y : 100,    //圆心的y轴坐标值
    r : 50      //圆的半径
};
//沿着坐标点(100,100)为圆心、半径为50px的圆的顺时针方向绘制弧线
ctx.arc(circle.x, circle.y, circle.r, 0, Math.PI * 2, false);    
//按照指定的路径绘制弧线
ctx.stroke();

运行结果:


2.Svg

基于对象模型,多个图形元素,高保真
svg例子

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<!-- circle是圆形标签 -->
<circle cx="70" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>
<!-- rect是长方形标签 -->
<rect x='120' width="100" height="100"
style="fill:rgb(0,0,255);stroke-width:1;
stroke:rgb(0,0,0)"/>
</svg>

运行结果:


常见图形组件

  • 标题、工具栏、图例、提示框
  • 坐标轴:x轴、y轴

echart官网上主要看看它的配置项手册,它对每一个参数都做了详细的描述
http://www.echartsjs.com/option.html#title


还有它的官方实例 http://www.echartsjs.com/examples/

二.Echarts 库简介

1.简单的柱状图,折线图示例

http://www.echartsjs.com/download.html链接里下载完整版,echats.min.js,然后引入到html文件中就可以使用了,以下是一个简单的直方图例子。
在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>bar</title>
    <!-- 引入 echarts.js -->
    <script src="../echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 900px;height:600px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
    // 标题
    title: {
        text: 'ECharts 入门示例'
    },
    // 工具箱
    toolbox: {
        show: true,
        feature: {
            saveAsImage: {
                show: true
            }
        }
    },
    // 图例
    legend: {
        data: ['销量']
    },
    // x轴
    xAxis: {
        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    },
    yAxis: {},
    // 数据
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
    }]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

运行结果:



以下是一个简单的折线图例子

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>line</title>
    <!-- 引入 echarts.js -->
    <script src="../echarts.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 900px;height:600px;"></div>
<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
    title: {
        text: 'ECharts 入门示例'
    },
    toolbox: {
        show: true,
        feature: {
            saveAsImage: {
                show: true
            }
        }
    },
    legend: {
        data: ['销量']
    },
    xAxis: {
        data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    },
    yAxis: {},
    series: [{
        name: '销量',
        type: 'bar',
        data: [5, 20, 36, 10, 10, 20]
    },{
        name: '产量',
        type: 'line',
        data: [7, 30, 50, 11, 40, 80]
    }]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
标题组件title

http://www.echartsjs.com/option.html#title
标题负责显示整个图表的标题,主要配置option下的title

title: {
  show:true,
  text: 'ECharts 入门示例', //标题文字
  subtext:'学习ECharts就来慕课网', //子标题
  left:'right', //标题位置( 数字就是像素值 ,也可以是 center left right这种值)
  borderColor:'red',  //边框颜色
  borderWidth:5, //边框宽度
  textStyle:{
      fontSize:40
  }
},
工具箱组件

http://www.echartsjs.com/option.html#toolbox
组件的工具栏

toolbox: {
        show: true,  //是否显示
        feature: {
            dataView:{
                show:true
            },  //数据视图
            restore:{
                show:true
            },  //还原
            dataZoom:{
                show:true
            },  //缩放视图
            saveAsImage: {
                show: true
            }, //保存图片
            magicType: {
                type: ['line', 'bar']
            }  //动态类型切换
        }//具体需要显示的功能
    },
弹窗组件

http://www.echartsjs.com/option.html#tooltip

    tooltip: {
        show:true,  //是否显示
        trigger: 'axis'  //触发类型为x轴触发
    },
标记线和标记点markline markpoint

http://www.echartsjs.com/option.html#series-line.markLine
最大值,最小值 平均值的标记线

  series: [{
        name: '销量',
        type: 'line',
        data: [5, 20, 36, 10, 10, 20],
        markPoint: {
            data: [
                {type: 'max', name: '最大值'},
                {type: 'min', name: '最小值',symbol:'arrow'}
            ]
        },
        markLine: {
            data: [
                {type: 'average', name: '平均值'}
            ]
        }
    }]

三.Echar常用图

饼图

以下略。。。

四.Echart中级使用

多个坐标轴
        // 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
option = {
    tooltip: {
        trigger: 'axis'
    },
    toolbox: {
        feature: {
            dataView: {show: true, readOnly: false},
            magicType: {show: true, type: ['line', 'bar']},
            restore: {show: true},
            saveAsImage: {show: true}
        }
    },
    legend: {
        data:['蒸发量','降水量','平均温度']
    },
    xAxis: [
        {
            type: 'category',
            data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
        }
    ],
    yAxis: [
        {
            type: 'value',
            name: '水量',
            min: 0,
            max: 250,
            interval: 50,
            axisLabel: {
                formatter: '{value} ml'
            }
        },
        {
            type: 'value',
            name: '温度',
            min: 0,
            max: 25,
            interval: 5,
            axisLabel: {
                formatter: '{value} °C'
            }
        }
    ],
    series: [
        {
            name:'蒸发量',
            type:'bar',
            data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
        },
        {
            name:'降水量',
            type:'bar',
            data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
        },
        {
            name:'平均温度',
            type:'line',
            yAxisIndex: 1,
            data:[2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]
        }
    ]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
区域缩放
值域选择

相关文章

网友评论

      本文标题:echarts

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