首页 经验

ECharts问题,如何绘制象形柱图(pictorialBar)?

时间: 2024-10-19 09:08:41

(部分内容来自网络,其真实性存疑,为了避免对您造成误导,请谨慎甄别。)


要绘制象形柱图(pictorialBar),可以使用 ECharts 中的 PictorialBar 组件。PictorialBar 组件可以将柱状图的柱子替换为自定义的图片,从而使柱状图更具有视觉效果和表现力。

要使用 PictorialBar 组件,首先需要引入 ECharts 的库文件,并创建一个图表实例。然后,可以通过设置 PictorialBar 组件的相关属性来定义柱子的样式和图片。

下面是一个示例代码,演示了如何绘制象形柱图:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>ECharts PictorialBar Example</title>
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script>
</head>
<body>
  <div id="chart" style="width: 800px; height: 400px;"></div>
  <script>
    // 创建图表实例
    var chart = echarts.init(document.getElementById('chart'));
    // 定义数据
    var data = [
      {name: 'A', value: 100},
      {name: 'B', value: 200},
      {name: 'C', value: 300},
      {name: 'D', value: 400},
      {name: 'E', value: 500}
    ];
    // 定义图片
    var image = new Image();
    image.src = 'https://echarts.apache.org/examples/data/asset/img/logo.png';
    // 设置 PictorialBar 组件的属性
    var option = {
      xAxis: {
        type: 'category',
        data: data.map(item => item.name),
        axisLine: {
          show: false
        },
        axisTick: {
          show: false
        },
        axisLabel: {
          interval: 0,
          rotate: 45
        }
      },
      yAxis: {
        type: 'value',
        show: false
      },
      series: [{
        type: 'pictorialBar',
        symbol: image,
        symbolRepeat: 'fixed',
        symbolMargin: '5%',
        symbolClip: true,
        symbolSize: [30, 30],
        symbolBoundingData: Math.max(...data.map(item => item.value)),
        data: data.map(item => item.value),
        z: 10
      }]
    };
    // 渲染图表
    chart.setOption(option);
  </script>
</body>
</html>

在上面的示例代码中,首先创建了一个图表实例,并指定了图表容器的宽度和高度。然后,定义了一个数据数组,每个数据项包含了柱子的名称和值。

接下来,创建了一个图片对象,并指定了图片的地址。图片可以是本地图片,也可以是网络图片。在这个示例中,使用了 ECharts 官方网站的 Logo 图片作为柱子的图片。

然后,通过设置 PictorialBar 组件的相关属性来定义柱子的样式和图片。在这个示例中,设置了 symbol 属性为上面创建的图片对象,symbolRepeat 属性为 'fixed',表示每个柱子都使用同一个图片。设置了 symbolMargin 属性为 '5%',表示柱子之间的间距为 5%。设置了 symbolClip 属性为 true,表示将图片剪切为柱子的形状。设置了 symbolSize 属性为 [30, 30],表示图片的大小为 30px × 30px。设置了 symbolBoundingData 属性为数据数组中的最大值,表示将图片的高度与最大值对应。

最后,将 PictorialBar 组件添加到 series 数组中,并将数据数组中的值作为柱子的数据。设置 z 属性为 10,表示将柱子放在最上层。

最后,调用图表实例的 setOption 方法,将上面定义的配置作为参数,渲染图表。

通过上面的示例代码,可以绘制出一个简单的象形柱图。可以根据实际需求,调整 PictorialBar 组件的属性,以及添加其他组件和样式,来实现更复杂和个性化的象形柱图。


上一个 ECharts问题,如何绘制旭日图(sunburst chart)? 文章列表 下一个 ECharts问题,如何绘制平行坐标系图表?

最新

工具

© 2019-至今 适观科技

沪ICP备17002269号