vue中用echarts做一个躺着的柱状图

在 Vue 中集成 ECharts 并绘制一个躺着的柱状图(即横向的柱状图),你可以通过设置 ECharts 的 bar 类型,并配置 xAxisyAxis 来实现。下面是一个完整的 Vue 示例代码。

示例代码:

vue 复制代码
<template>
  <div id="bar-chart" style="width: 600px; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  name: 'HorizontalBarChart',
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      var chartDom = document.getElementById('bar-chart');
      var myChart = echarts.init(chartDom);

      var option = {
        title: {
          text: 'Horizontal Bar Chart Example',
          left: 'center'
        },
        tooltip: {
          trigger: 'axis',
          axisPointer: {
            type: 'shadow'
          }
        },
        xAxis: {
          type: 'value', // 横向的柱状图,X 轴是数值轴
          boundaryGap: [0, 0.01]
        },
        yAxis: {
          type: 'category', // Y 轴是类目轴
          data: ['Category A', 'Category B', 'Category C', 'Category D']
        },
        series: [
          {
            name: 'Value',
            type: 'bar', // 柱状图类型
            data: [335, 410, 234, 543],
            itemStyle: {
              color: '#3398DB'
            }
          }
        ]
      };

      // 设置配置项并显示图表
      myChart.setOption(option);
    }
  }
};
</script>

<style scoped>
#bar-chart {
  width: 100%;
  height: 100%;
}
</style>

代码说明:

  1. HTML 部分<div id="bar-chart"></div> 是用来容纳 ECharts 图表的 DOM 元素。在 mounted() 钩子中初始化图表。

  2. JavaScript 部分

    • echarts.init():将容器元素传递给 echarts.init,初始化图表实例。
    • xAxisyAxis
      • xAxis 设为 value 类型,因为横向的柱状图的 X 轴是数值轴。
      • yAxis 设为 category,用于展示分类数据,如 Category ACategory B
    • series
      • type 设为 bar,表示柱状图类型。
      • data 用来展示每个类目对应的数据值。
  3. 样式 :使用 scoped 的 CSS 确保图表容器的宽度和高度适配父级元素。

效果

  • 这是一个简单的横向柱状图,柱子沿 X 轴水平方向排列,而 Y 轴用来显示不同的分类。
  • 你可以根据实际需求调整图表的标题、颜色、数据等。

扩展:

  • 你可以添加更多的 series 项,生成多组数据的横向柱状图。
  • 通过配置 tooltiplegend,你可以使图表的交互更加丰富。

如果你需要动态更新图表数据或更多自定义样式,可以在 Vue 中结合 propsdata 使用。

相关推荐
对不起初见13 小时前
PlantUML 完整教程:从入门到精通
前端·后端
东方掌管牛马的神13 小时前
oh-my-zsh 配置与使用技巧
前端
你的人类朋友13 小时前
HTTP请求结合HMAC增加安全性
前端·后端·安全
aidingni88813 小时前
掌握 TCJS 游戏摄像系统:打造动态影院级体验
前端·javascript
有梦想的攻城狮14 小时前
从0开始学vue:npm命令详解
前端·vue.js·npm
我是日安14 小时前
从零到一打造 Vue3 响应式系统 Day 23 - Watch:基础实现
前端·javascript·vue.js
FogLetter14 小时前
TypeScript 泛型:让类型也拥有“函数式”超能力
前端·typescript
FogLetter14 小时前
Map 与 WeakMap:内存管理的艺术与哲学
前端·javascript
golang学习记14 小时前
从0死磕全栈之Next.js 流式渲染(Streaming)实战:实现渐进式加载页面,提升用户体验
前端
前端伪大叔14 小时前
第15篇:Freqtrade策略不跑、跑错、跑飞?那可能是这几个参数没配好
前端·javascript·后端