ECharts 的基本配置

46,378次阅读
没有评论

共计 4626 个字符,预计需要花费 12 分钟才能阅读完成。

一. 初体验

1. 基本配置


    
    

ECharts 的基本配置

2. 切换渲染引擎 和 主题色

echarts.init(document.getElementById("main"), null, {renderer: "svg"});

echarts.init(document.getElementById("main"), "dark", {renderer: "canvas"});

二. 配置项(组件)

1. grid 网格

var option = {
    backgroundColor: "pink",
    grid: {
        show: true,
        backgroundColor: "lightblue",
        left: 0,  // 相对于组外层容器的位置
        right: 0,
        // top: 0,
        // bottom: 0,
        containLabel: true, // 是否保留坐标轴坐标标签
    },
    xAxis: {data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
    },
    yAxis: {},
    series: [
        {
        name: "销量",
        type: "bar",
        data: [5, 20, 36, 10, 10, 20],
        },
    ],
};

ECharts 的基本配置

2. x/y 坐标轴

xAxis: {
    show: true,
    name: "类目坐标",  // 轴坐标名称

    type: "category", // 类目坐标才有 data 选项 
    // type: "value", 
    data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],

    axisLine: { // 坐标轴轴线相关设置。show: true,
        lineStyle: {
        color: "red",
        width: 3,
        },
    },

    axisLabel: { // 坐标轴标签的相关设置。show: true,
        color: "green",
        fontSize: 16,
    },
    
    axisTick: {  // 坐标轴刻度相关设置。show: true,
        length: 10,
        lineStyle: {
        color: "blue",
        width: 3,
        },
    },
        
    splitLine: { // 坐标轴在 grid 区域中的分隔线。show: true,
        lineStyle: {
        color: "orange",
        width: 1,
        },
    }, 
}

ECharts 的基本配置

3. series 系列

1. data 支持的书写方式

series: [
    {
    name: "产品销量柱形图",
    type: "bar",
    label: {show: true,},
    
    // 方式一
    // 按照坐标轴索引进行匹配,顺序不可变  [value1, value2]
    data: [5, 20, 36, 10, 10, 20],  
        
        
    // 方式二
    // [index, value]
    data: [[0, 5],
      [1, 20],
      [2, 36],
      [3, 10],
      [4, 10],
      [5, 20],
    ],
                
        
    // 方式三 (推荐)
    data: [
        {
            value: 5,
            name: "衬衫", // 数据项名称, 比如 pie 系列 tooltip 需要用到
        },
        {
            value: 20,
            name: "羊毛衫",
        },
        {
            value: 36,
            name: "雪纺衫",
        },
        {
            value: 10,
            name: "裤子",
        },
        {
            value: 10,
            name: "高跟鞋",
        },
        {
            value: 20,
            name: "袜子",
        },
    ],
                
        
    // 方式四
    data: [
      {value: [0, 5], // 数组第一项为 x 轴值,第二项为 y 轴值
        name: "衬衫", // 数据项名称, 比如 pie 系列 tooltip 需要用到
      },
      {value: [1, 20],
        name: "羊毛衫",
      },
      {value: [2, 36],
        name: "雪纺衫",
      },
      {value: [3, 10],
        name: "裤子",
      },
      {value: [4, 10],
        name: "高跟鞋",
      },
      {value: [5, 20],
        name: "袜子",
      },
    ],
        
            
    // 方式五 (地理坐标系推荐)
    data: [
      {value: [0, 5, 500], // 第一项为 x 轴或纬度值,第二项为 y 或维度轴值,第三项以后为扩展值
        name: "衬衫", // 数据项名称, 比如 pie 系列 tooltip 需要用到
      },
      {value: [1, 20, 400],
        name: "羊毛衫",
      },
      {value: [2, 36, 200],
        name: "雪纺衫",
      },
      {value: [3, 10, 100],
        name: "裤子",
      },
      {value: [4, 10, 600],
        name: "高跟鞋",
      },
      {value: [5, 20, 300],
        name: "袜子",
      },
    ],
  },
],

2. type 图表类型

series: [
    {
        name: "产品销量柱形图",
        type: "line", // line 折线图  bar 柱状图  scatter 散点图  pie 饼图
        data: [5, 20, 36, 10, 10, 20], 
    },
],

ECharts 的基本配置


// 饼图
series: [
    {
        name: "产品销量柱形图",
        type: "pie",

        // 饼图的中心点相对于容器的位置
        center: ["50%", "50%"],
        
        // 饼图的直径百分比是参照容器高和宽中较小一项  
        // [内圆的直径,外圆的直径]
        radius: ["10%", "50%"], 

        //area 玫瑰图 (南丁格尔图)。圆心角一样,通过半径展现数据大小 (默认 false)
        // roseType: "area",

        data: [
            {
                value: 5,
                name: "衬衫", // 数据项名称, 比如 pie 系列 tooltip 需要用到
            },
            {
                value: 20,
                name: "羊毛衫",
            },
            {
                value: 36,
                name: "雪纺衫",
            },
            {
                value: 10,
                name: "裤子",
            },
            {
                value: 10,
                name: "高跟鞋",
            },
            {
                value: 20,
                name: "袜子",
            },
        ],
    },
],

 ECharts 的基本配置

 3. label 图表的标签

series: [
    {   
        name: "产品销量柱形图",
        type: "bar",
        
        label: { // 系列图形上的文本标签
            show: true,
            position: [10, 20], // 标签所处于每项图表中的位置
            color: "white",
            fontSize: "20px",
        },
        data: [10, 20, 30, 20, 10, 20]
    },
]

ECharts 的基本配置

 4. itemStyle 图形默认色

series: [
    {   
        name: "产品销量柱形图",
        type: "bar",
        itemStyle: { // 系列图形的样式
            color: "red", // 图形颜色
            borderColor: "orange", // 边框颜色
            borderWidth: 4,  // 边框宽度
            opacity: 0.4,   // 图形颜色的透明度
        },
        data: [10, 20, 30, 20, 10, 20]
    },
]

ECharts 的基本配置

 5. emphasis 鼠标悬浮时的高亮色

series: [
    {   
        name: "产品销量柱形图",
        type: "bar",
        label: {show: true},
        itemStyle:{color: 'pink'},

        emphasis: { // 鼠标 hover 时的高亮色
            label: {
                show: true,
                color: "gold",
            },
            itemStyle:{color: 'red'},
            // ...
        },

        data: [10, 20, 30, 20, 10, 20]
    },
]

ECharts 的基本配置

4. title 标题组件

title: {
    text: "一级标题",
    left: 20,
    top: 10,
    subText: "二级标题"
    // ...
},

ECharts 的基本配置

5. legend 图例组件

legend: {
    show: true,
    // width: 50, // 图例组件的总宽度, 默认自适应
    itemWidth: 20, // 每个图例标记的图形宽度。icon: "circle",
    //   top: 10,
    // bottom: 0,

    // 用来格式化图例标记文本,支持字符串模板和回调函数两种形式
    // formatter: "liu-{name}",  
    formatter: function (name) {// 富文本语法:{style_name|value} 不能有空格
        return name + "{countSty|40%}";
    },
    textStyle: {
        color: "red",
        rich: { // 在 rich 里面,可以自定义富文本样式
            countSty: {color: "blue",},
        },
    },
},

 ECharts 的基本配置

6. tooltip 提示组件

tooltip: {
    show: true,
    
    // 使用了 trigger,一般也结合 axisPointer
    trigger: "axis",  // 默认是 item
    
    axisPointer: {type: "shadow", //  ( 默认是竖线 line)  (横线 + 竖线 cross)  (柱状 shadow)
    },
    formatter: "123"  // 自定义标签的显示内容
},

ECharts 的基本配置

7. 图形渐变色

color: {
  // 渐变
  type: "linear",
  // 坐标配置  [0,0]  =>  [0,1]
  x: 0,
  y: 0,
  x2: 0,
  y2: 1,
  // 
  colorStops: [
    {
      offset: 0.5,
      color: "red",
    },
    {
      offset: 1,
      color: "blue",
    },
  ],
},

ECharts 的基本配置

 三. 图表实例

1. 柱形图

var option = {backgroundColor: "rgba(40, 46, 72)",
  grid: {
    show: true,
    backgroundColor: "rgba(0, 255, 0, 0.1)",
    left: "5%",
    right: "10%",
    top: "30%",
    bottom: "5%",
    containLabel: true, // grid 区域是否包含坐标轴的刻度标签
  },
  tooltip: {},
  xAxis: {
    name: "月份",
    axisLine: {
      show: true,
      lineStyle: {color: "#42A4FF",},
    },
    axisTick: {show: false,},
    axisLabel: {color: "white",},

    data: ["一月", "二月", "三月", "四月", "五月", "六月", "七月"],
  },
  yAxis: {
    name: "个",
    nameTextStyle: {
      color: "white",
      fontSize: 13,
    },
    axisLine: {
      show: true,
      lineStyle: {color: "#42A4FF",},
    },
    axisTick: {show: false,},
    splitLine: {
      show: true,
      lineStyle: {color: "#42A4FF",},
    },
    axisLabel: {color: "white",},
  },
  series: [
    {
      name: "销量",
      type: "bar",
      barWidth: 17,
      itemStyle: {
        color: {
          type: "linear",
          x: 0,
          y: 0,
          x2: 0,
          y2: 1,
          colorStops: [
            {
              offset: 0,
              color: "#01B1FF", // 0% 处的颜色
            },
            {
              offset: 1,
              color: "#033BFF", // 100% 处的颜色
            },
          ],
        },
      },
      data: [500, 2000, 3600, 1000, 1000, 2000, 4000],
    },
  ],
};

ECharts 的基本配置

原文地址: ECharts 的基本配置

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-07发表,共计4626字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)