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 使用。

相关推荐
程序员黑豆17 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
bugcome_com20 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC20 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕20 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
Fluxart.ai1 天前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
why技术1 天前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码1 天前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep1 天前
又一个华为天才少年,离职了!
前端·后端·程序员
kyriewen1 天前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试
IT_陈寒1 天前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端