vue+echarts柱状图y轴设置从大到小排序
时间: 2023-07-25 18:28:18 浏览: 296
要实现 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 属性中,使用回调函数返回排序后的标签数组。
阅读全文