<template>
<div>
<v-chart :forceFit="true" :height="height" :data="data">
<v-tooltip :useHtml='true' :htmlContent="(title,items) => {
console.log(items)
let tpl = ''
items.forEach(item => {
tpl += '<li type=none>'
+ '<span style=background-color:'
+ item.color
+';width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;></span>'
+ item.name + ':' + item.value
+ '</li>'
})
tpl += '<li type=none>'
+ 'meal :' + items[0].point['_origin'].meal
+ '</li>'
return '<div style=background-color:#fff;position:absolute;><ul><li type=none>' + tpl +'</li></ul></div>'
}"/>
<v-axis />
<v-legend />
<v-stack-bar position="月份*月均降雨量" color="name" />
</v-chart>
</div>
</template>
<script>
const DataSet = require('@antv/data-set');
const sourceData = [
//{ name: 'meal','Jan.': 18.9, 'Feb.': 28.8, 'Mar.': 39.3, 'Apr.': 81.4, 'May': 47, 'Jun.': 20.3, 'Jul.': 24, 'Aug.': 35.6},
{ name: 'London', 'Jan.': 18.9, 'Feb.': 28.8, 'Mar.': 39.3, 'Apr.': 81.4, 'May': 47, 'Jun.': 20.3, 'Jul.': 24, 'Aug.': 35.6 },
{ name: 'Berlin', 'Jan.': 12.4, 'Feb.': 23.2, 'Mar.': 34.5, 'Apr.': 99.7, 'May': 52.6, 'Jun.': 35.5, 'Jul.': 37.4, 'Aug.': 42.4 },
];
const dv = new DataSet.View().source(sourceData);
dv.transform({
type: 'fold',
fields: ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May', 'Jun.', 'Jul.', 'Aug.'],
key: '月份',
value: '月均降雨量',
});
const itemTpl = '<li data-index={index}>'
+ '<span style="background-color:{color};width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px;"></span>'
+ '{name}: {value}-{meal}'
+ '</li>'
const data = dv.rows;
data.forEach(item=>item.meal = 1.0)
console.log(data)
export default {
data() {
return {
data,
tips: [1,2,3,4,5,6,8],
height: 400,
itemTpl
};
}
};
</script>
效果: