天天看點

echarts在react中的引入使用(倆種方法)

一.第一步 先看看你的echarts版本。

小于5.0版本的可以使用以下方法:

先安裝:

npm i [email protected] --save

npm i echarts-for-react --save

1.原始echarts

導入

import React from 'react'
// 引入 ECharts 主子產品
import echarts from 'echarts/lib/echarts'
// 引入餅圖
import 'echarts/lib/chart/bar'
// 引入提示框和标題元件
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
import 'echarts/lib/component/legend';
import 'echarts/lib/component/markPoint';           

複制

執行個體化echarts

componentDidMount() {
        // 基于準備好的dom,初始化echarts執行個體
        var myChart = echarts.init(document.getElementById('main'));
        // 繪制圖表
        myChart.setOption({
            title: { text: 'ECharts 入門示例' },
            tooltip: {},
            xAxis: {
                data: ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
            },
            yAxis: {},
            series: [{
                name: '銷量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        });
    }           

複制

使用

render() {
        return (
            <div id="main" style={{ width: 400, height: 400 }}></div>
        );
}           

複制

2.echarts-for-react

import React, { PureComponent } from "react";
import ReactEcharts from "echarts-for-react";
export default class Simple extends PureComponent {
  getOption = () => {
    return {
      title: {
        text: "堆疊區域圖",
      },
      tooltip: {
        trigger: "axis",
      },
      legend: {
        data: ["郵件營銷", "聯盟廣告", "視訊廣告"],
      },
      toolbox: {
        feature: {
          saveAsImage: {},
        },
      },
      grid: {
        left: "3%",
        right: "4%",
        bottom: "3%",
        containLabel: true,
      },
      xAxis: [
        {
          type: "category",
          boundaryGap: false,
          data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
        },
      ],
      yAxis: [
        {
          type: "value",
        },
      ],
      series: [
        {
          name: "郵件營銷",
          type: "line",
          stack: "總量",
          areaStyle: { normal: {} },
          data: [120, 132, 101, 134, 90, 230, 210],
        },
        {
          name: "聯盟廣告",
          type: "line",
          stack: "總量",
          areaStyle: { normal: {} },
          data: [220, 182, 191, 234, 290, 330, 310],
        },
        {
          name: "視訊廣告",
          type: "line",
          stack: "總量",
          areaStyle: { normal: {} },
          data: [150, 232, 201, 154, 190, 330, 410],
        },
      ],
    };
  };
  render() {
    let code =
      "<ReactEcharts \n" +
      "  option={this.getOption()} \n" +
      "  style={{height: '350px', width: '100%'}}  \n" +
      "  className='react_for_echarts' />";
    return (
      <div className="examples">
        <div className="parent">
          <label>
            {" "}
            render a Simple echart With <strong>option and height</strong>:{" "}
          </label>
          <ReactEcharts
            option={this.getOption()}
            style={{ height: "350px", width: "100%" }}
            className="react_for_echarts"
          />
          <label> code below: </label>
          <pre>
            <code>{code}</code>
          </pre>
        </div>
      </div>
    );
  }
}           

複制

5.0以上的暫時隻能使用原始的e-charts引入。

npm i echarts --save

import React, { Component } from "react";
// 注意這裡 跟4.0相比 隻是這裡使用了require,使用import直接報錯..
const echarts = require("echarts");
class Charts extends Component {
  constructor(props) {
    super(props);
    this.state = {
      option: {
        title: {
          text: "ECharts 入門示例",
        },
        tooltip: {},
        legend: {
          data: ["銷量"],
        },
        xAxis: {
          data: ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"],
        },
        yAxis: {},
        series: [
          {
            name: "銷量",
            type: "bar",
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      },
    };
  }
  componentDidMount() {
    // 基于準備好的dom,初始化echarts執行個體
    const MyChart = echarts.init(document.getElementById("main")); // 繪制圖表
    let option = {
      title: {
        text: "ECharts 入門示例",
      },
      tooltip: {},
      legend: {
        data: ["銷量"],
      },
      xAxis: {
        data: ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"],
      },
      yAxis: {},
      series: [
        {
          name: "銷量",
          type: "bar",
          data: [5, 20, 36, 10, 10, 20],
        },
      ],
    };
    MyChart.setOption(option);
  }
  render() {
    return (
      <div>
            <div id="main" style={{ width: 400, height: 400 }}></div>
      </div>
    );
  }
}

export default Charts;           

複制

另外附上E-charts的全部的配置

theme = {
    // 全圖預設背景
    // backgroundColor: 'rgba(0,0,0,0)',

    // 預設色闆
    color: ['#ff7f50','#87cefa','#da70d6','#32cd32','#6495ed',
            '#ff69b4','#ba55d3','#cd5c5c','#ffa500','#40e0d0',
            '#1e90ff','#ff6347','#7b68ee','#00fa9a','#ffd700',
            '#6699FF','#ff6666','#3cb371','#b8860b','#30e0e0'],

    // 圖表标題
    title: {
        x: 'left',                 // 水準安放位置,預設為左對齊,可選為:
                                   // 'center' ¦ 'left' ¦ 'right'
                                   // ¦ {number}(x坐标,機關px)
        y: 'top',                  // 垂直安放位置,預設為全圖頂端,可選為:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,機關px)
        //textAlign: null          // 水準對齊方式,預設根據x設定自動調整
        backgroundColor: 'rgba(0,0,0,0)',
        borderColor: '#ccc',       // 标題邊框顔色
        borderWidth: 0,            // 标題邊框線寬,機關px,預設為0(無邊框)
        padding: 5,                // 标題内邊距,機關px,預設各方向内邊距為5,
                                   // 接受數組分别設定上右下左邊距,同css
        itemGap: 10,               // 主副标題縱向間隔,機關px,預設為10,
        textStyle: {
            fontSize: 18,
            fontWeight: 'bolder',
            color: '#333'          // 主标題文字顔色
        },
        subtextStyle: {
            color: '#aaa'          // 副标題文字顔色
        }
    },

    // 圖例
    legend: {
        orient: 'horizontal',      // 布局方式,預設為水準布局,可選為:
                                   // 'horizontal' ¦ 'vertical'
        x: 'center',               // 水準安放位置,預設為全圖居中,可選為:
                                   // 'center' ¦ 'left' ¦ 'right'
                             
                                   // ¦ {number}(x坐标,機關px)
        y: 'top',                  // 垂直安放位置,預設為全圖頂端,可選為:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,機關px)
        //也可以不使用x、y,使用left,right,top,bottom:20或'20%'為值的屬性表示,
        //涉及到x、y的地方都可以使用此方法嘗試
        backgroundColor: 'rgba(0,0,0,0)',
        borderColor: '#ccc',       // 圖例邊框顔色
        borderWidth: 0,            // 圖例邊框線寬,機關px,預設為0(無邊框)
        padding: 5,                // 圖例内邊距,機關px,預設各方向内邊距為5,
                                   // 接受數組分别設定上右下左邊距,同css
        itemGap: 10,               // 各個item之間的間隔,機關px,預設為10,
                                   // 橫向布局時為水準間隔,縱向布局時為縱向間隔
        itemWidth: 20,             // 圖例圖形寬度
        itemHeight: 14,            // 圖例圖形高度
        textStyle: {
            color: '#333'          // 圖例文字顔色
        }
    },

    // 值域
    dataRange: {
        orient: 'vertical',        // 布局方式,預設為垂直布局,可選為:
                                   // 'horizontal' ¦ 'vertical'
        x: 'left',                 // 水準安放位置,預設為全圖左對齊,可選為:
                                   // 'center' ¦ 'left' ¦ 'right'
                                   // ¦ {number}(x坐标,機關px)
        y: 'bottom',               // 垂直安放位置,預設為全圖底部,可選為:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,機關px)
        backgroundColor: 'rgba(0,0,0,0)',
        borderColor: '#ccc',       // 值域邊框顔色
        borderWidth: 0,            // 值域邊框線寬,機關px,預設為0(無邊框)
        padding: 5,                // 值域内邊距,機關px,預設各方向内邊距為5,
                                   // 接受數組分别設定上右下左邊距,同css
        itemGap: 10,               // 各個item之間的間隔,機關px,預設為10,
                                   // 橫向布局時為水準間隔,縱向布局時為縱向間隔
        itemWidth: 20,             // 值域圖形寬度,線性漸變水準布局寬度為該值 * 10
        itemHeight: 14,            // 值域圖形高度,線性漸變垂直布局高度為該值 * 10
        splitNumber: 5,            // 分割段數,預設為5,為0時為線性漸變
        color:['#1e90ff','#f0ffff'],//顔色 
        //text:['高','低'],         // 文本,預設為數值文本
        textStyle: {
            color: '#333'          // 值域文字顔色
        }
    },

    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 : '儲存為圖檔'
        }
    },

    // 提示框
    tooltip: {
        trigger: 'item',           // 觸發類型,預設資料觸發,見下圖,可選為:'item' ¦ 'axis'
        showDelay: 20,             // 顯示延遲,添加顯示延遲可以避免頻繁切換,機關ms
        hideDelay: 100,            // 隐藏延遲,機關ms
        transitionDuration : 0.4,  // 動畫變換時間,機關s
        backgroundColor: 'rgba(0,0,0,0.7)',     // 提示背景顔色,預設為透明度為0.7的黑色
        borderColor: '#333',       // 提示邊框顔色
        borderRadius: 4,           // 提示邊框圓角,機關px,預設為4
        borderWidth: 0,            // 提示邊框線寬,機關px,預設為0(無邊框)
        padding: 5,                // 提示内邊距,機關px,預設各方向内邊距為5,
                                   // 接受數組分别設定上右下左邊距,同css
        axisPointer : {            // 坐标軸訓示器,坐标軸觸發有效
            type : 'line',         // 預設為直線,可選為:'line' | 'shadow'
            lineStyle : {          // 直線訓示器樣式設定
                color: '#48b',
                width: 2,
                type: 'solid'
            },
            shadowStyle : {                       // 陰影訓示器樣式設定
                width: 'auto',                   // 陰影大小
                color: 'rgba(150,150,150,0.3)'  // 陰影顔色
            }
        },
        textStyle: {
            color: '#fff'
        }
    },

    // 區域縮放控制器
    dataZoom: {
        orient: 'horizontal',      // 布局方式,預設為水準布局,可選為:
                                   // 'horizontal' ¦ 'vertical'
        // x: {number},            // 水準安放位置,預設為根據grid參數适配,可選為:
                                   // {number}(x坐标,機關px)
        // y: {number},            // 垂直安放位置,預設為根據grid參數适配,可選為:
                                   // {number}(y坐标,機關px)
        // width: {number},        // 指定寬度,橫向布局時預設為根據grid參數适配
        // height: {number},       // 指定高度,縱向布局時預設為根據grid參數适配
        backgroundColor: 'rgba(0,0,0,0)',       // 背景顔色
        dataBackgroundColor: '#eee',            // 資料背景顔色
        fillerColor: 'rgba(144,197,237,0.2)',   // 填充顔色
        handleColor: 'rgba(70,130,180,0.8)'     // 搖桿顔色
    },

    // 網格
    grid: {
        x: 80,
        y: 60,
        x2: 80,
        y2: 60,
        // width: {totalWidth} - x - x2,
        // height: {totalHeight} - y - y2,
        backgroundColor: 'rgba(0,0,0,0)',
        borderWidth: 1,
        borderColor: '#ccc'
    },

    // 類目軸
    categoryAxis: {
        position: 'bottom',    // 位置
        nameLocation: 'end',   // 坐标軸名字位置,支援'start' | 'end'
        boundaryGap: true,     // 類目起始和結束兩端空白政策
        axisLine: {            // 坐标軸線
            show: true,        // 預設顯示,屬性show控制顯示與否
            lineStyle: {       // 屬性lineStyle控制線條樣式
                color: '#48b',
                width: 2,
                type: 'solid'
            }
        },
        axisTick: {            // 坐标軸小标記
            show: true,       // 屬性show控制顯示與否,預設不顯示
            interval: 'auto',
            // onGap: null,
            inside : false,    // 控制小标記是否在grid裡 
            length :5,         // 屬性length控制線長
            lineStyle: {       // 屬性lineStyle控制線條樣式
                color: '#333',
                width: 1
            }
        },
        axisLabel: {           // 坐标軸文本标簽,詳見axis.axisLabel
            show: true,
            interval: 'auto',
            rotate: 0,
            margin: 8,
            // formatter: null,
            textStyle: {       // 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
                color: '#333'
            }
        },
        splitLine: {           // 分隔線
            show: true,        // 預設顯示,屬性show控制顯示與否
            // onGap: null,
            lineStyle: {       // 屬性lineStyle(詳見lineStyle)控制線條樣式
                color: ['#ccc'],
                width: 1,
                type: 'solid'
            }
        },
        splitArea: {           // 分隔區域
            show: false,       // 預設不顯示,屬性show控制顯示與否
            // onGap: null,
            areaStyle: {       // 屬性areaStyle(詳見areaStyle)控制區域樣式
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        }
    },

    // 數值型坐标軸預設參數
    valueAxis: {
        position: 'left',      // 位置
        nameLocation: 'end',   // 坐标軸名字位置,支援'start' | 'end'
        nameTextStyle: {},     // 坐标軸文字樣式,預設取全局樣式
        boundaryGap: [0, 0],   // 數值起始和結束兩端空白政策
        splitNumber: 5,        // 分割段數,預設為5
        axisLine: {            // 坐标軸線
            show: true,        // 預設顯示,屬性show控制顯示與否
            lineStyle: {       // 屬性lineStyle控制線條樣式
                color: '#48b',
                width: 2,
                type: 'solid'
            }
        },
        axisTick: {            // 坐标軸小标記
            show: false,       // 屬性show控制顯示與否,預設不顯示
            inside : false,    // 控制小标記是否在grid裡 
            length :5,         // 屬性length控制線長
            lineStyle: {       // 屬性lineStyle控制線條樣式
                color: '#333',
                width: 1
            }
        },
        axisLabel: {           // 坐标軸文本标簽,詳見axis.axisLabel
            show: true,
            rotate: 0,
            margin: 8,
            // formatter: null,
            textStyle: {       // 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
                color: '#333'
            }
        },
        splitLine: {           // 分隔線
            show: true,        // 預設顯示,屬性show控制顯示與否
            lineStyle: {       // 屬性lineStyle(詳見lineStyle)控制線條樣式
                color: ['#ccc'],
                width: 1,
                type: 'solid'
            }
        },
        splitArea: {           // 分隔區域
            show: false,       // 預設不顯示,屬性show控制顯示與否
            areaStyle: {       // 屬性areaStyle(詳見areaStyle)控制區域樣式
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        }
    },

    polar : {
        center : ['50%', '50%'],    // 預設全局居中
        radius : '75%',
        startAngle : 90,
        splitNumber : 5,
        name : {
            show: true,
            textStyle: {       // 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
                color: '#333'
            }
        },
        axisLine: {            // 坐标軸線
            show: true,        // 預設顯示,屬性show控制顯示與否
            lineStyle: {       // 屬性lineStyle控制線條樣式
                color: '#ccc',
                width: 1,
                type: 'solid'
            }
        },
        axisLabel: {           // 坐标軸文本标簽,詳見axis.axisLabel
            show: false,
            textStyle: {       // 其餘屬性預設使用全局文本樣式,詳見TEXTSTYLE
                color: '#333'
            }
        },
        splitArea : {
            show : true,
            areaStyle : {
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        },
        splitLine : {
            show : true,
            lineStyle : {
                width : 1,
                color : '#ccc'
            }
        }
    },

    // 柱形圖預設參數
    bar: {
        barMinHeight: 0,          // 最小高度改為0
        // barWidth: null,        // 預設自适應
        barGap: '30%',            // 柱間距離,預設為柱形寬度的30%,可設固定值
        barCategoryGap : '20%',   // 類目間柱形距離,預設為類目間距的20%,可設固定值
        itemStyle: {
            normal: {
                // color: '各異',
                barBorderColor: '#fff',       // 柱條邊線
                barBorderRadius: 0,           // 柱條邊線圓角,機關px,預設為0
                barBorderWidth: 1,            // 柱條邊線線寬,機關px,預設為1
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            },
            emphasis: {
                // color: '各異',
                barBorderColor: 'rgba(0,0,0,0)',   // 柱條邊線
                barBorderRadius: 0,                // 柱條邊線圓角,機關px,預設為0
                barBorderWidth: 1,                 // 柱條邊線線寬,機關px,預設為1
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            }
        }
    },

    // 折線圖預設參數
    line: {
        itemStyle: {
            normal: {
                // color: 各異,
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                lineStyle: {
                    width: 2,
                    type: 'solid',
                    shadowColor : 'rgba(0,0,0,0)', //預設透明
                    shadowBlur: 5,
                    shadowOffsetX: 3,
                    shadowOffsetY: 3
                }
            },
            emphasis: {
                // color: 各異,
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            }
        },
        //smooth : false,
        //symbol: null,         // 拐點圖形類型
        symbolSize: 2,          // 拐點圖形大小
        //symbolRotate : null,  // 拐點圖形旋轉控制
        showAllSymbol: false    // 标志圖形預設隻有主軸顯示(随主軸标簽間隔隐藏政策)
    },

    // K線圖預設參數
    k: {
        // barWidth : null          // 預設自适應
        // barMaxWidth : null       // 預設自适應 
        itemStyle: {
            normal: {
                color: '#fff',          // 陽線填充顔色
                color0: '#00aa11',      // 陰線填充顔色
                lineStyle: {
                    width: 1,
                    color: '#ff3200',   // 陽線邊框顔色
                    color0: '#00aa11'   // 陰線邊框顔色
                }
            },
            emphasis: {
                // color: 各異,
                // color0: 各異
            }
        }
    },

    // 散點圖預設參數
    scatter: {
        //symbol: null,      // 圖形類型
        symbolSize: 4,       // 圖形大小,半寬(半徑)參數,當圖形為方向或菱形則總寬度為symbolSize * 2
        //symbolRotate : null,  // 圖形旋轉控制
        large: false,        // 大規模散點圖
        largeThreshold: 2000,// 大規模閥值,large為true且資料量>largeThreshold才啟用大規模模式
        itemStyle: {
            normal: {
                // color: 各異,
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            },
            emphasis: {
                // color: '各異'
                label: {
                    show: false
                    // position: 預設自适應,水準布局為'top',垂直布局為'right',可選為
                    //           'inside'|'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            }
        }
    },

    // 雷達圖預設參數
    radar : {
        itemStyle: {
            normal: {
                // color: 各異,
                label: {
                    show: false
                },
                lineStyle: {
                    width: 2,
                    type: 'solid'
                }
            },
            emphasis: {
                // color: 各異,
                label: {
                    show: false
                }
            }
        },
        //symbol: null,         // 拐點圖形類型
        symbolSize: 2           // 可計算特性參數,空資料拖拽提示圖形大小
        //symbolRotate : null,  // 圖形旋轉控制
    },

    // 餅圖預設參數
    pie: {
        center : ['50%', '50%'],    // 預設全局居中
        radius : [0, '75%'],
        clockWise : false,          // 預設逆時針
        startAngle: 90,
        minAngle: 0,                // 最小角度改為0
        selectedOffset: 10,         // 選中是扇區偏移量
        itemStyle: {
            normal: {
                // color: 各異,
                borderColor: '#fff',
                borderWidth: 1,
                label: {
                    show: true,
                    position: 'outer'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                labelLine: {
                    show: true,
                    length: 20,
                    lineStyle: {
                        // color: 各異,
                        width: 1,
                        type: 'solid'
                    }
                }
            },
            emphasis: {
                // color: 各異,
                borderColor: 'rgba(0,0,0,0)',
                borderWidth: 1,
                label: {
                    show: false
                    // position: 'outer'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                labelLine: {
                    show: false,
                    length: 20,
                    lineStyle: {
                        // color: 各異,
                        width: 1,
                        type: 'solid'
                    }
                }
            }
        }
    },

    map: {
        mapType: 'china',   // 各省的mapType暫時都用中文
        mapLocation: {
            x : 'center',
            y : 'center'
            // width    // 自适應
            // height   // 自适應
        },
        showLegendSymbol : true,       // 顯示圖例顔色辨別(系列辨別的小圓點),存在legend時生效
        itemStyle: {
            normal: {
                // color: 各異,
                borderColor: '#fff',
                borderWidth: 1,
                areaStyle: {
                    color: '#ccc'//rgba(135,206,250,0.8)
                },
                label: {
                    show: false,
                    textStyle: {
                        color: 'rgba(139,69,19,1)'
                    }
                }
            },
            emphasis: {                 // 也是選中樣式
                // color: 各異,
                borderColor: 'rgba(0,0,0,0)',
                borderWidth: 1,
                areaStyle: {
                    color: 'rgba(255,215,0,0.8)'
                },
                label: {
                    show: false,
                    textStyle: {
                        color: 'rgba(139,69,19,1)'
                    }
                }
            }
        }
    },

    force : {
        // 資料map到圓的半徑的最小值和最大值
        minRadius : 10,
        maxRadius : 20,
        density : 1.0,
        attractiveness : 1.0,
        // 初始化的随機大小位置
        initSize : 300,
        // 向心力因子,越大向心力越大
        centripetal : 1,
        // 冷卻因子
        coolDown : 0.99,
        // 分類裡如果有樣式會覆寫節點預設樣式
        itemStyle: {
            normal: {
                // color: 各異,
                label: {
                    show: false
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                nodeStyle : {
                    brushType : 'both',
                    color : '#f08c2e',
                    strokeColor : '#5182ab'
                },
                linkStyle : {
                    strokeColor : '#5182ab'
                }
            },
            emphasis: {
                // color: 各異,
                label: {
                    show: false
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                nodeStyle : {},
                linkStyle : {}
            }
        }
    },

    chord : {
        radius : ['65%', '75%'],
        center : ['50%', '50%'],
        padding : 2,
        sort : 'none', // can be 'none', 'ascending', 'descending'
        sortSub : 'none', // can be 'none', 'ascending', 'descending'
        startAngle : 90,
        clockWise : false,
        showScale : false,
        showScaleText : false,
        itemStyle : {
            normal : {
                label : {
                    show : true
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                lineStyle : {
                    width : 0,
                    color : '#000'
                },
                chordStyle : {
                    lineStyle : {
                        width : 1,
                        color : '#666'
                    }
                }
            },
            emphasis : {
                lineStyle : {
                    width : 0,
                    color : '#000'
                },
                chordStyle : {
                    lineStyle : {
                        width : 2,
                        color : '#333'
                    }
                }
            }
        }
    },

    island: {
        r: 15,
        calculateStep: 0.1  // 滾輪可計算步長 0.1 = 10%
    },

    markPoint : {
        symbol: 'pin',         // 标注類型
        symbolSize: 10,        // 标注大小,半寬(半徑)參數,當圖形為方向或菱形則總寬度為symbolSize * 2
        //symbolRotate : null, // 标注旋轉控制
        itemStyle: {
            normal: {
                // color: 各異,
                // borderColor: 各異,     // 标注邊線顔色,優先于color 
                borderWidth: 2,            // 标注邊線線寬,機關px,預設為1
                label: {
                    show: true,
                    position: 'inside' // 可選為'left'|'right'|'top'|'bottom'
                    // textStyle: null      // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            },
            emphasis: {
                // color: 各異
                label: {
                    show: true
                    // position: 'inside'  // 'left'|'right'|'top'|'bottom'
                    // textStyle: null     // 預設使用全局文本樣式,詳見TEXTSTYLE
                }
            }
        }
    },

    markLine : {
        // 标線起始和結束的symbol介紹類型,如果都一樣,可以直接傳string
        symbol: ['circle', 'arrow'],  
        // 标線起始和結束的symbol大小,半寬(半徑)參數,當圖形為方向或菱形則總寬度為symbolSize * 2
        symbolSize: [2, 4],
        // 标線起始和結束的symbol旋轉控制
        //symbolRotate : null,
        itemStyle: {
            normal: {
                // color: 各異,           // 标線主色,線色,symbol主色
                // borderColor: 随color,     // 标線symbol邊框顔色,優先于color 
                borderWidth: 2,          // 标線symbol邊框線寬,機關px,預設為2
                label: {
                    show: false,
                    // 可選為 'start'|'end'|'left'|'right'|'top'|'bottom'
                    position: 'inside',  
                    textStyle: {         // 預設使用全局文本樣式,詳見TEXTSTYLE
                        color: '#333'
                    }
                },
                lineStyle: {
                    // color: 随borderColor, // 主色,線色,優先級高于borderColor和color
                    // width: 随borderWidth, // 優先于borderWidth
                    type: 'solid',
                    shadowColor : 'rgba(0,0,0,0)', //預設透明
                    shadowBlur: 5,
                    shadowOffsetX: 3,
                    shadowOffsetY: 3
                }
            },
            emphasis: {
                // color: 各異
                label: {
                    show: false
                    // position: 'inside' // 'left'|'right'|'top'|'bottom'
                    // textStyle: null    // 預設使用全局文本樣式,詳見TEXTSTYLE
                },
                lineStyle : {}
            }
        }
    },

    textStyle: {
        decoration: 'none',
        fontFamily: 'Arial, Verdana, sans-serif',
        fontFamily2: '微軟雅黑',    // IE8- 字型模糊并且不支援不同字型混排,額外指定一份
        fontSize: 12,
        fontStyle: 'normal',
        fontWeight: 'normal'
    },

    // 預設标志圖形類型清單
    symbolList : [
      'circle', 'rectangle', 'triangle', 'diamond',
      'emptyCircle', 'emptyRectangle', 'emptyTriangle', 'emptyDiamond'
    ],
    loadingText : 'Loading...',
    // 可計算特性配置,孤島,提示顔色
    calculable: false,              // 預設關閉可計算特性
    calculableColor: 'rgba(255,165,0,0.6)',       // 拖拽提示邊框顔色
    calculableHolderColor: '#ccc', // 可計算占位提示顔色
    nameConnector: ' & ',
    valueConnector: ' : ',
    animation: true,
    animationThreshold: 2500,       // 動畫元素閥值,産生的圖形原素超過2500不出動畫
    addDataAnimation: true,         // 動态資料接口是否開啟動畫效果
    animationDuration: 2000,
    animationEasing: 'ExponentialOut'    //BounceOut
}           

複制