vue + ECharts 柱状图,条形图,折线图,扇形图的使用说明和代码实现

ECharts具有丰富的图表类型,包括线图、柱状图、散点图、饼图、雷达图等,可以适应不同需求的数据可视化。对于柱状图,它利用柱子的高度反映数据的差异,肉眼对高度的差异很敏感,但局限在于只适用中小规模的数据集。折线图则适合二维的大数据集,还适合多个二维数据集的比较,一般用来表示趋势的变化。

ECharts的优点主要包括以下几点:首先,它是开源免费的,我们可以免费使用ECharts,不需要缴纳任何费用。其次,它的功能丰富,提供了各种各样的图表,支持各种各样的定制,能满足各种需求。此外,ECharts的社区非常活跃,意味着你可以和很多开发者讨论,遇到了问题也很容易找到解决办法。再者,ECharts提供了多种数据的支持包括流数据,并能优化移动端、实现跨平台的应用。最后,ECharts采用数据驱动的方式,可以根据数据动态改变图表的形态。

然而,ECharts也存在一些缺点。例如,部分用户反馈其文档不够完善,对于初学者来说有一定的学习曲线。另外,由于其功能丰富,可能会导致配置项较多,使用户在使用时需要花费较多的时间进行学习和熟悉。

Vue + ECharts 是一个基于 Vue.js 的图表库,可以方便地在 Vue 项目中使用。以下是柱状图、条形图、折线图和扇形图的使用说明和全部代码:

  1. 首先,确保你已经安装了 Vue.js 和 ECharts。如果没有安装,可以通过以下命令进行安装:
npm install -g vue
npm install echarts --save
  1. 在你的 Vue 项目中引入 ECharts:
import * as echarts from 'echarts';
  1. 创建一个 Vue 组件,例如 Chart.vue,并在其中编写以下代码:
<template>
  <div ref="chart" style="width: 600px; height: 400px;"></div>
</template>

<script>
export default {
  data() {
    return {
      chartOption: null,
    };
  },
  mounted() {
    this.initChart();
  },
  methods: {
    initChart() {
      const chart = echarts.init(this.$refs.chart);

      // 柱状图
      const barChartOption = {
        title: {
          text: '柱状图示例',
        },
        tooltip: {},
        legend: {
          data: ['销量'],
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      };
      chart.setOption(barChartOption);

      // 条形图
      const barChartOption2 = {
        title: {
          text: '条形图示例',
        },
        tooltip: {},
        legend: {
          data: ['销量'],
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'bar',
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      };
      chart.setOption(barChartOption2);

      // 折线图
      const lineChartOption = {
        title: {
          text: '折线图示例',
        },
        tooltip: {},
        legend: {
          data: ['销量'],
        },
        xAxis: {
          data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'],
        },
        yAxis: {},
        series: [
          {
            name: '销量',
            type: 'line',
            data: [5, 20, 36, 10, 10, 20],
          },
        ],
      };
      chart.setOption(lineChartOption);

      // 扇形图
      const pieChartOption = {
        title: {
          text: '扇形图示例',
        },
        tooltip: {},
        legend: {
          data: ['销量'],
        },
        series: [
          {
            name: '销量',
            type: 'pie',
            radius: '55%',
            data: [
              { value: 335, name: '衬衫' },
              { value: 310, name: '羊毛衫' },
              { value: 234, name: '雪纺衫' },
              { value: 135, name: '裤子' },
              { value: 1548, name: '高跟鞋' },
              { value: 748, name: '袜子' },
            ],
          },
        ],
      };
      chart.setOption(pieChartOption);
    },
  },
};
</script>
  1. 在你的 Vue 应用中使用 Chart.vue 组件:
<template>
  <div id="app">
    <Chart />
  </div>
</template>

<script>
import Chart from './components/Chart.vue';

export default {
  components: {
    Chart,
  },
};
</script>

这样,你就可以在 Vue 项目中使用 ECharts 创建柱状图、条形图、折线图和扇形图了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现 Vue+Echarts 柱状图的 y 轴从大到小排序,可以使用以下步骤: 1. 在 Echarts 的配置项中,设置 y 轴的 type 为 "value"。 2. 在 y 轴的轴线样式中,设置 axisLabel 的 formatter 属性,使用一个回调函数来对 y 轴的标签进行排序。 3. 在回调函数中,使用 sort() 方法对 y 轴数据进行排序,然后返回排序后的标签数组。 下面是一个示例代码: ``` <template> <div id="chart" style="width: 600px;height:400px;"></div> </template> <script> import * as echarts from 'echarts'; export default { data() { return { chartData: [ { name: 'A', value: 76 }, { name: 'B', value: 68 }, { name: 'C', value: 82 }, { name: 'D', value: 91 }, { name: 'E', value: 72 }, { name: 'F', value: 68 }, { name: 'G', value: 95 }, ], }; }, mounted() { this.initChart(); }, methods: { initChart() { const chart = echarts.init(document.getElementById('chart')); const yAxisData = this.chartData.map(item => item.name).sort((a, b) => { return this.chartData.find(item => item.name === b).value - this.chartData.find(item => item.name === a).value; }); const option = { xAxis: { type: 'category', data: this.chartData.map(item => item.name), }, yAxis: { type: 'value', axisLabel: { formatter: (value) => { return yAxisData[value]; }, }, }, series: [ { data: this.chartData.map(item => item.value), type: 'bar', }, ], }; chart.setOption(option); }, }, }; </script> ``` 在上面的示例代码中,使用了一个回调函数来对 y 轴的标签进行排序。首先使用 map() 方法将原始数据中的名称提取出来,然后使用 sort() 方法对名称进行排序。在 axisLabel 的 formatter 属性中,使用回调函数返回排序后的标签数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一花一world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值