eCharts の doubt

115 阅读2分钟
  • 热力图颜色改变

        visualMap: {
            inRange: {
                color: ['blue', 'blue', 'green', 'yellow', 'red']
            }
        }

  • 移动端自适应  Media Query

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

query:  {                 //支持三个属性:width、height、aspectRatio(长宽比)
    minWidth: 200,        //每个属性都可以加上 min 或 max 前缀
    maxHeight: 300,       //两个属性一起写表示『并且』
    minAspectRatio: 1.3
 },
option: {                //理论上可以写任何 option 的配置项。但是一般只写跟布局定位相关的
    ...
}

注意:可以有多个 query 同时被满足,会都被 mergeOption,定义在后的后被 merge(即优先级更高)。

容器大小实时变化时的注意事项:

在不少情况下,并不需要容器DOM节点任意随着拖拽变化大小,而是只是根据不同终端设置几个典型尺寸。

但是如果容器DOM节点需要能任意随着拖拽变化大小,那么目前使用时需要注意这件事:某个配置项,如果在某一个 query option 中出现,那么在其他 query option 中也必须出现,否则不能够回归到原来的状态。(left/right/top/bottom/width/height 不受这个限制。)


  • toolbox自定义

{
    toolbox: {
        feature: {
            myTool1: {
                show: true,
                title: '自定义扩展方法1',
                icon: 'path://M432.45,595.444c0,2.177-4.661,6.82-11.305,6.82c-6.475,0-11.306-4.567-11.306-6.82s4.852-6.812,11.306-6.812C427.841,588.632,432.452,593.191,432.45,595.444L432.45,595.444z M421.155,589.876c-3.009,0-5.448,2.495-5.448,5.572s2.439,5.572,5.448,5.572c3.01,0,5.449-2.495,5.449-5.572C426.604,592.371,424.165,589.876,421.155,589.876L421.155,589.876z M421.146,591.891c-1.916,0-3.47,1.589-3.47,3.549c0,1.959,1.554,3.548,3.47,3.548s3.469-1.589,3.469-3.548C424.614,593.479,423.062,591.891,421.146,591.891L421.146,591.891zM421.146,591.891',
                onclick: function (){
                    alert('myToolHandler1')
                }
            },
            myTool2: {
                show: true,
                title: '自定义扩展方法',
                icon: 'image://http://echarts.baidu.com/images/favicon.png',
                onclick: function (){
                    alert('myToolHandler2')
                }
            }
        }
    }
}

参考文章:

echarts toolbox增加自定义图标 

echarts中toolbox增加自定义图标和事件


  • Canvas和SVG的区别
    • Canvas
      1. 依赖分辨率
      2. 不支持事件处理器
      3. 弱的文本渲染能力
      4. 能够以 .png 或 .jpg 格式保存结果图像
      5. 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
    • SVG
      1. 不依赖分辨率
      2. 支持事件处理器
      3. 最适合带有大型渲染区域的应用程序(比如谷歌地图)
      4. 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
      5. 不适合游戏应用


前端绘图 svg和canvas

Canvas和SVG的区别