以下圖,由於X軸內容太多,放不下,插件默認間隔顯示
需求:X軸內容要所有顯示出來(只有斜顯示或固定寬多餘的用省略代替,原本須要就是想顯示所有內容,因此只能取斜顯示的方案)數組
先看看v-charts的文檔:echarts
經過extend屬性實現對已配置好的內部屬性進行單獨的設置, extend爲對象類型,對象內的屬性能夠是函數,也能夠對象,也能夠是其餘類型的值函數
用法以下:字體
this.chartExtend = {
series (v) {
v.forEach(i => {
i.barWidth = 10
})
return v
},
tooltip (v) {
v.trigger = 'none'
return v
}
}
/* 等同於
this.chartExtend = {
series: {
barWidth: 10
},
tooltip: {
trigger: 'none'
}
}
等同於
this.chartExtend = {
'series.0.barWidth': 10,
'series.1.barWidth': 10,
'tooltip.trigger': 'none'
}
*/
============================================================================this
回到上面的需求上,要實現這個效果,也須要用到formatter格式化方法,效果以下圖(紅框X軸名稱)spa
很少說,直接上代碼:插件
<template> <ve-histogram :data="chartData" :extend="chartExtend"> </ve-histogram> </template> <script> export default { data () { this.chartExtend = { // 柱子寬度 series: { barWidth: 10 }, // x軸字體斜顯示 xAxis: { axisLabel: { margin: 15, interval: 0, rotate: 30, formatter: name => { // eslint-disable-next-line return echarts.format.truncateText(name, 100, '14px Microsoft Yahei', '…') } }, triggerEvent: true } } return { chartData: { columns: ['日期', '成本', '利潤'], rows: [ { '日期': '1月1日', '成本': 15, '利潤': 12 }, { '日期': '1月2日', '成本': 12, '利潤': 25 }, { '日期': '1月3日', '成本': 21, '利潤': 10 }, { '日期': '1月4日', '成本': 41, '利潤': 32 }, { '日期': '1月5日', '成本': 31, '利潤': 30 }, { '日期': '1月6日', '成本': 71, '利潤': 55 }, { '日期': '1月6日', '成本': 21, '利潤': 45 }, { '日期': '1月7日', '成本': 31, '利潤': 35 },
{ '日期': '1月8日', '成本': 11, '利潤': 35 },
{ '日期': '1月9日', '成本': 51, '利潤': 35 }
]
} } } } </script>