先上效果(折线图也可,看代码中标注*的位置):
代码:
dataList = [1, 2, 9, 8, 10, 14, 3];//初始数值 *
dataList1 = [];//翻转后的数值 *
var dd = 2;//系数 用来防止计算后为0 不显示 *
maxValue = dataList[0]; // *
maxValue = Math.max(...dataList);//取最大值 *
[dataList1] = [dataList.map(v => Math.abs(v - maxValue) + dd)];//翻转 *
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value',
min: 1,
max:maxValue+1,
axisLabel: {//翻转y轴刻度 *
formatter: function (value) {
// 自定义格式化
var v = dd - (value - maxValue);
if (v <= 0) {
v = 1;
}
return v;
}
}
},
series: [
{
data: dataList1,//*
type: 'bar'
}
]
};
单纯使用
inverse:true,//翻转
scale:true//不包含0刻度
也可达到翻转效果,但存在以下情况:
柱状图情况下,使用inverse:true
生长效果是从上至下。
折线图存在面积颜色的情况下,inverse:true
渐变颜色在上部。
根据需求酌情选择使用。