echarts柱状图图例详解

一、样式设置

在echarts中,柱状图图例的样式可以通过legend属性进行设置。其中,需要注意的是legend中的textStyle属性可以单独控制文字样式,同时color属性可以设置图例颜色。

legend: {
  textStyle: {
    fontStyle: 'italic',
    color: '#333',
    fontSize: 14
  },
  data: ['图例1', '图例2'],
  color: ['#ff0000', '#00ff00']
}

上述代码中,legend的textStyle指定了字体样式,颜色和字号。同时,data属性设置了图例的内容,color属性设置了图例对应的颜色。

二、数据格式

在echarts中,柱状图图例的数据格式可以灵活转换,可以是一维数组,也可以是多维数组,例如下方代码所示的数据格式:

var data = [{
  name: '图例1',
  value: 100
}, {
  name: '图例2',
  value: 200
}]

以数据格式为基础,我们可以用不同的方式来呈现图例数据。例如,我们可以使用data内的value属性来作为柱状图高度的值:

{
  xAxis: {
    data: ['图例1', '图例2']
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    type: 'bar',
    data: [100, 200]
  }]
}

三、图例位置

在echarts中,柱状图图例位置可以通过legend属性的orient属性进行控制。orient属性包含四个值可供选择,分别是’horizontal'(水平),’vertical'(垂直),’left'(左对齐),’center'(居中对齐),’right'(右对齐)。

legend: {
  orient: 'horizontal', //或:'vertical'、'left'、'center'、'right'
  data: ['图例1', '图例2']
}

上述代码中,orient属性设置为’horizontal’,表示图例水平排列。

四、图例设置

在echarts中,我们可以通过legend属性控制图例的显示与隐藏,同时可以设置默认选中的图例。

legend: {
  selectedMode: 'single', //或多选'multiple'
  selected: {
    '图例1': true, //默认选中'图例1'
    '图例2': false //默认不选中'图例2'
  },
  data: ['图例1', '图例2']
}

上述代码中,selectedMode属性设置为’single’,表示图例单选。selected属性设置了默认选中的图例。

五、图例居右

在echarts中,我们可以通过grid属性配合legend属性实现图例居右的效果。

grid: {
  right: '20%',
  containLabel: true
},
legend: {
  orient: 'vertical',
  right: 10,
  data: ['图例1', '图例2']
}

上述代码中,grid的right属性设置了图形区域离容器右侧的距离。同时,legend的右边距属性right也进行了设置。

六、柱状图类型

在echarts中,我们可以通过series属性的type属性,来切换柱状图的类型。默认柱状图的type属性值为’bar’,我们可以将其修改为’stack’,实现堆叠柱状图效果。

{
  xAxis: {
    data: ['图例1']
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    type: 'stack', //或'bar'
    data: [100],
    name: '图例1',
    stack: '总量'
  }, {
    type: 'stack', //或'bar'
    data: [50],
    name: '图例2',
    stack: '总量'
  }]
}

七、图例太多怎么展示

当我们的柱状图图例太多时,可以使用legend属性的scroll属性进行滚动展示。

legend: {
  type: 'scroll',
  data: ['图例1', '图例2', '图例3', '图例4', '图例5', '图例6', '图例7', '图例8', '图例9', '图例10', '图例11', '图例12']
}

上述代码中,type属性设置为’scroll’,表示使用滚动展示图例。data属性设置了所有需要展示的数据。

八、图例水平排列居右

我们可以使用legend属性的orient属性控制图例水平或垂直排列,但是当图例控制在一行显示时,我们可以使用justify属性将其居右显示。

legend: {
  type: 'scroll',
  orient: 'horizontal',
  data: ['图例1', '图例2', '图例3'],
  right: '30%',
  top: '80%',
  width: '40%',
  itemWidth: 20,
  itemHeight: 10,
  textStyle: {
    color: '#000'
  },
  padding: [20, 5, 0, 5],
  selected: {
    '图例1': true,
    '图例2': true,
    '图例3': true
  },
  align: 'right',
  justify: true
}

上述代码中,itemWidth和itemHeight属性分别设置了图例样式的宽度和高度,padding属性设置了图例周围的边距。同时,align属性设置了图例在grid元素中的对齐方式,justify属性设置了图例水平排列时的对齐方式。

九、柱状图参数

在echarts中,通过柱状图的各个属性我们可以自由控制柱状图的样式,并且使用柱状图参数,可以实现更加灵活的数据展示方式。

{
  xAxis: {
    type: 'category',
    data: ['图例1', '图例2', '图例3'],
    axisTick: {
      alignWithLabel: true
    }
  },
  yAxis: {
    type: 'value'
  },
  series: [{
    type: 'bar',
    data: [100, 200, 300],
    barWidth: '60%',
    itemStyle: {
      normal: {
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
          offset: 0,
          color: '#83bff6'
        }, {
          offset: 0.5,
          color: '#188df0'
        }, {
          offset: 1,
          color: '#188df0'
        }]),
        barBorderRadius: [30, 30, 0, 0]
      }
    }
  }]
}

上述代码中,barWidth属性设置了柱状图宽度。itemStyle属性设置了柱状图的颜色渐变和边角弧度效果,具体效果可以根据实际需求进行调整。使用LinearGradient函数可以控制颜色渐变的方向和阶段,分别对应四个参数(x1, y1, x2, y2)。barBorderRadius属性设置的是柱状图的边角弧度效果。

十、数据过多选取3~5个与echarts柱状图图例相关的做为小标题

当柱状图数据过多时,我们可以通过xAxis的axisLabel属性进行轴标签的间隔控制,同时也可以通过数据筛选的方式,选取关键数据展示。

以下数据为例,我们仅展示前5个关键数据。

var data = {
  category: ['2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019', '2020'],
  series: [{
    name: '图例1',
    type: 'bar',
    data: [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000],
    barWidth: '20%'
  }, {
    name: '图例2',
    type: 'bar',
    data: [200, 400, 600, 800, 1000, 1200, 1400, 1600, 1800, 2000],
    barWidth: '20%'
  }]
};

var option = {
  tooltip: {},
  legend: {
    data: ['图例1', '图例2']
  },
  calculable: true,
  xAxis: [{
    type: 'category',
    data: data.category.filter(function(value, index) {
      return index < 5;
    }),
    axisTick: {
      alignWithLabel: true
    }
  }],
  yAxis: [{
    type: 'value'
  }],
  series: [{
    name: '图例1',
    type: 'bar',
    data: data.series[0].data.filter(function(value, index) {
      return index < 5;
    }),
    barWidth: '20%'
  }, {
    name: '图例2',
    type: 'bar',
    data: data.series[1].data.filter(function(value, index) {
      return index < 5;
    }),
    barWidth: '20%'
  }]
};

上述代码中,我们使用了filter方法筛选出前5个数据,并在xAxis和series中进行了相关设置。

原创文章,作者:LVMG,如若转载,请注明出处:https://www.506064.com/n/138625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
LVMGLVMG
上一篇 2024-10-04 00:21
下一篇 2024-10-04 00:21

相关推荐

  • Echarts 地图 Label 增加背景图

    本文将从多个方面对 Echarts 地图 Label 增加背景图进行详细的阐述。 一、背景图的作用 为 Echarts 地图添加背景图可以使 Label 更加直观、美观,提升视觉效…

    编程 2025-04-29
  • 如何添加图例标签

    图例标签(Legend)是一种添加在图表上的说明性标签,可以帮助观众更好地理解图表展示的数据。无论你是在制作散点图、折线图还是饼图,图例标签都是一个必不可少的元素。本文将从以下几个…

    编程 2025-04-27
  • ECharts地图轮播

    本文将从插件基础、数据准备及处理、地图呈现、轮播控制等方面,对ECharts地图轮播进行详细阐述。 一、插件基础 ECharts官方提供了一个名为“echarts-gl”的插件,它…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25

发表回复

登录后才能评论