对喝咖啡的看法(问卷调查)
配置项如下
var questionnaires = [{
question: '对喝咖啡的看法',
answers: [{
option: '坚决不喝',
juniorGirl: 3,
juniorBoy: 3,
seniorGirl: 1,
seniorBoy: 1
}, {
option: '一般不喝',
juniorGirl: 5,
juniorBoy: 5,
seniorGirl: 6,
seniorBoy: 2
}, {
option: '有时会喝',
juniorGirl: 27,
juniorBoy: 13,
seniorGirl: 3,
seniorBoy: 3
}, {
option: '频繁会喝',
juniorGirl: 8,
juniorBoy: 9,
seniorGirl: 4,
seniorBoy: 2
}]
}, {
question: '了解咖啡的制作工艺',
answers: [{
option: '了解',
juniorGirl: 2,
juniorBoy: 6,
seniorGirl: 1,
seniorBoy: 0
}, {
option: '只知道喝',
juniorGirl: 16,
juniorBoy: 8,
seniorGirl: 2,
seniorBoy: 3
}, {
option: '略有耳闻',
juniorGirl: 26,
juniorBoy: 16,
seniorGirl: 9,
seniorBoy: 4
}]
}, {
question: '您认为喝咖啡对您的身体',
answers: [{
option: '非常有害,拒绝喝咖啡',
juniorGirl: 2,
juniorBoy: 1,
seniorGirl: 1,
seniorBoy: 1
}, {
option: '很有害,但有时可用来提神醒脑',
juniorGirl: 0,
juniorBoy: 0,
seniorGirl: 2,
seniorBoy: 0
}, {
option: '害处大于益处,应控制',
juniorGirl: 4,
juniorBoy: 4,
seniorGirl: 2,
seniorBoy: 0
}, {
option: '有益也有害,平时喝点问题不大',
juniorGirl: 34,
juniorBoy: 16,
seniorGirl: 7,
seniorBoy: 5
}, {
option: '有益于身体,要多喝',
juniorGirl: 1,
juniorBoy: 7,
seniorGirl: 1,
seniorBoy: 2
}]
}, {
question: '是否会提倡大家喝咖啡',
answers: [{
option: '会',
juniorGirl: 8,
juniorBoy: 7,
seniorGirl: 3,
seniorBoy: 1
}, {
option: '不会',
juniorGirl: 8,
juniorBoy: 3,
seniorGirl: 3,
seniorBoy: 2
}, {
option: '顺其自然',
juniorGirl: 27,
juniorBoy: 18,
seniorGirl: 7,
seniorBoy: 5
}]
}, {
question: '是否支持我们的研究',
answers: [{
option: '非常支持',
juniorGirl: 38,
juniorBoy: 22,
seniorGirl: 10,
seniorBoy: 8
}, {
option: '垃圾',
juniorGirl: 4,
juniorBoy: 4,
seniorGirl: 1,
seniorBoy: 0
}]
}]
var questionnaire = questionnaires[0]
option = {
title: {
text: questionnaire.question,
left: 'center'
},
legend: {
bottom: 10,
left: 'center',
data: questionnaire.answers.map(item => {
return item.option
})
},
series: [{
type: 'pie',
radius: ['30%', '50%'],
center: ['50%', '50%'],
selectedMode: 'single',
itemStyle: {
normal: {
// 每根柱子颜色设置
color: function(params) {
let colors = [
'#733938', '#809d87', '#cf9490',
'#f6c094', '#b5ccbd', '#f3e1d5'
]
let index = params.dataIndex % colors.length
return colors[index]
}
}
},
data: questionnaire.answers.map(item => {
return {
name: item.option,
value: item.juniorGirl + item.juniorBoy + item.seniorGirl + item.seniorBoy,
label: {
formatter: [
'{title| {b} }{abg|}',
' {textHead|人群分类}{valueHead|人数}',
'{hr|}',
'{text|18岁以下女}{value|' + item.juniorGirl + '}',
'{text|18岁以下男}{value|' + item.juniorBoy + '}',
'{text|18岁以下女}{value|' + item.seniorGirl + '}',
'{text|18岁以下难}{value|' + item.seniorBoy + '}'
].join('\n'),
backgroundColor: '#eee',
borderColor: '#777',
borderWidth: 1,
borderRadius: 4,
rich: {
title: {
color: '#eee',
align: 'center'
},
abg: {
backgroundColor: '#333',
width: '100%',
align: 'right',
height: 25,
borderRadius: [4, 4, 0, 0]
},
iconHead: {
color: '#333',
height: 24,
align: 'left'
},
hr: {
borderColor: '#777',
width: '100%',
borderWidth: 0.5,
height: 0
},
text: {
width: 40,
padding: [0, 20, 0, 30],
align: 'left'
},
textHead: {
color: '#333',
width: 40,
padding: [0, 20, 0, 30],
align: 'center'
},
value: {
width: 20,
align: 'right',
padding: [0, 10, 0, 0]
},
valueHead: {
color: '#333',
width: 20,
align: 'center',
padding: [0, 10, 0, 0]
}
}
}
}
}),
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}]
}