Echarts

Posted 生命不息bug不止

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Echarts相关的知识,希望对你有一定的参考价值。

如果Echarts是通过单标签引入,那么就没必要用require(),直接用名称即可

<script src="js/echarts.min.js"></script> //单标签引入

<script>
    var echart = require(echarts); //非单标签引用时使用
    var echart = echarts; //单标签引用时直接使用名字
</script>

 

Echarts需要放在一个有宽高的容器中,然后在容器中初始化Echarts
js代码要放在加载事件中或者要初始化的容器之后,否则找不到容器
<div id="zhuxingtu" style="width:600px;height=400px;"></div>

<script>
   var init =  echart.init(document.getElementById(zhuxingtu));  //初始化  
</script>

 

bar 柱状图 line 折线图 k K线图 scatter 散点图 radar 雷达图 pie 饼图 map 地图
 
数据设置
绘制柱状图
init.setOption( //设置数据
    {
        title:{ //标题
            text:标题,
            x:center, //标题水平位置 left,center,right
            y:bottom //标题垂直位置 top,center,bottom
            borderColor: red, //标题边框颜色
            borderWidth: 2,  //标题边框宽度
            fontWeight: bolder, //标题加粗
            textStyle: {
                fontSize: 18,
                fontWeight: bolder,
                color: #333          // 主标题文字颜色
            },
            subtextStyle: {
                color: #aaa          // 副标题文字颜色
            }
        },
        borderColor: #ccc, //边框颜色
        backgroundColor:#cccccc, //背景颜色
        tooltip: {
            trigger: item,           // 触发类型,‘item‘ | ‘axis‘
            showDelay: 20,             // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
            hideDelay: 100,            // 隐藏延迟,单位ms
            transitionDuration : 0.4,  // 动画变换时间,单位s
            borderRadius: 4,           // 提示边框圆角,单位px,默认为4
            axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                type : line,         // 默认为直线,可选为:‘line‘ | ‘shadow‘
                lineStyle : {          // 直线指示器样式设置
                    color: #48b,
                    width: 2,
                    type: solid
                },
                shadowStyle : {                       // 阴影指示器样式设置
                    width: auto,                   // 阴影大小
                    color: rgba(150,150,150,0.3)  // 阴影颜色
                }
                },
        },
        legend: { //图例
            data:[销量,123]
             orient: horizontal,      // 布局方式,默认为水平布局,可选为:
                                        // ‘horizontal‘ | ‘vertical‘
             x: center,               // 水平安放位置,默认为全图居中,可选为:
                                        // ‘center‘ | ‘left‘ | ‘right‘
             y: top,                  // 垂直安放位置,默认为全图顶端,可选为:
                                        // ‘top‘ | ‘bottom‘ | ‘center‘
            padding: 5,                // 图例内边距,单位px,默认各方向内边距为5,
                               // 接受数组分别设定上右下左边距,同css
            itemGap: 10,               // 各个item之间的间隔,单位px,默认为10,
                               // 横向布局时为水平间隔,纵向布局时为纵向间隔
            itemWidth: 20,             // 图例图形宽度
            itemHeight: 14,            // 图例图形高度  
        },
        dataRange: {//值域
            splitNumber: 5,            // 分割段数,默认为10,为0时为线性渐变
            color:[#1e90ff,#f0ffff],//从第一个颜色渐变到第二个颜色 
            text:[,],         // 文本,默认为数值文本
        },
        toolbox: {//工具箱
            orient: horizontal,      // 布局方式,默认为水平布局,可选为:
                                       // ‘horizontal‘ | ‘vertical‘
            x: right,                // 水平安放位置,默认为全图右对齐,可选为:
                                       // ‘center‘ | ‘left‘ | ‘right‘
                                       // | {number}(x坐标,单位px)
            y: top,                  // 垂直安放位置,默认为全图顶端,可选为:
                                       // ‘top‘ | ‘bottom‘ | ‘center‘
                                       // | {number}(y坐标,单位px)
            color : [#1e90ff,#22bb22,#4b0082,#d2691e],
            backgroundColor: rgba(0,0,0,0), // 工具箱背景颜色
            borderColor: #ccc,       // 工具箱边框颜色
            borderWidth: 0,            // 工具箱边框线宽,单位px,默认为0(无边框)
            padding: 5,                // 工具箱内边距,单位px,默认各方向内边距为5,
                                       // 接受数组分别设定上右下左边距,同css
            itemGap: 10,               // 各个item之间的间隔,单位px,默认为10,
                                       // 横向布局时为水平间隔,纵向布局时为纵向间隔
            itemSize: 16,              // 工具箱图形宽度
            featureImageIcon : {},     // 自定义图片icon
            featureTitle : {
                mark : 辅助线开关,
                markUndo : 删除辅助线,
                markClear : 清空辅助线,
                dataZoom : 区域缩放,
                dataZoomReset : 区域缩放后退,
                dataView : 数据视图,
                lineChart : 折线图切换,
                barChart : 柱形图切换,
                restore : 还原,
                saveAsImage : 保存为图片
            }
        },
        dataZoom: {//区域缩放
            orient: horizontal,      // 布局方式,默认为水平布局,可选为:
                                       // ‘horizontal‘ | ‘vertical‘
            width: {number},        // 指定宽度,横向布局时默认为根据grid参数适配
            height: {number},       // 指定高度,纵向布局时默认为根据grid参数适配
            dataBackgroundColor: #eee,            // 数据背景颜色
            fillerColor: rgba(144,197,237,0.2),   // 填充颜色
            handleColor: rgba(70,130,180,0.8)     // 手柄颜色
        },
        color : [#ff7f50,#87cefa, #61a0a8, #d48265, #91c7ae],//柱状图颜色
        xAxis:{ //X轴
            type:""; //category 类型 value 值
            data:["XXX","XXX"],
            axisLable:{
                interval:0, //字体间隔
                rotate:45, //字体旋转
                margin:15, //字体和线的距离
                textStyle:{
                    color:"red",//字体颜色
                    fontsize:12 //字体大小
                }
            }
        },
        yAxis:{ //y轴
             name: 数量, //轴的名称
             min:0, //最小值
             max:700 //最大值
        }
    }
);

 

一般echarts用于绝对布局这种容易理解的布局方式。但是有时候容器尺寸极端时,这种方式并不能自动避免组件重叠的情况,尤其在移动端小屏的情况下。

另外,有时会出现一个图表需要同时在PC、移动端上展现的场景。这需要 ECharts 内部组件随着容器尺寸变化而变化的能力。

为了解决这个问题,ECharts 完善了组件的定位设置,并且实现了类似 CSS Media Query 的自适应能力。

 

media中不写query的option表示默认值,所有query不满足时使用这个option

option = {
    baseOption: { // 这里是基本的option
        title: {...},
        legend: {...},
        series: [{...}, {...}, ...],
        ...
    },
    media: [ // 这里定义了 media query 的逐条规则。
        {
            query: {...},   // 这里写规则。
            option: {       // 这里写此规则满足下的option。
                legend: {...},
                ...
            }
        },
        {
            query: {...},   // 第二个规则。
            option: {       // 第二个规则对应的option。
                legend: {...},
                ...
            }
        },
        {                   // 这条里没有写规则,表示『默认』,
            option: {       // 即所有规则都不满足时,采纳这个option。
                legend: {...},
                ...
            }
        }
    ]
};

 

以上是关于Echarts的主要内容,如果未能解决你的问题,请参考以下文章

新手求助echarts关系图

怎么用java编写echarts代码

Echarts 如何防止内存泄漏

echarts柱状图颜色设置:echarts柱状图如何设置不同颜色?(代码)

echarts怎么把代码移动在hbuilder里面

echarts散点图