使用echarts在网页中具备下拉菜单,通过下拉菜单切换显示不同的图表; 2、图表1:采用柱状图分别显示男性、女性的两组数据,每组数据显示生还和去世人数; 3、图表2:采用饼图分别显示男性、女性的两组数据,每组数据显示生还和去世的比例; 4、图表3:采用线状图分别显示1,2,3等舱的生还人员数量; 5、图表4:采用散点图显示1,2,3等舱与生还人员年龄的对应关系。
时间: 2023-05-26 10:07:06 浏览: 926
以下是一个使用echarts的下拉菜单实现切换不同图表的代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts示例</title>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
</head>
<body>
<select id="chartSelect">
<option value="bar">男女生还情况柱状图</option>
<option value="pie">男女生还情况饼图</option>
<option value="line">各等舱生还人数线状图</option>
<option value="scatter">各等舱生还人员年龄散点图</option>
</select>
<div id="chartContainer" style="height: 600px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('chartContainer'));
function renderChart() {
var chartType = document.getElementById('chartSelect').value;
console.log('Current chart type: ', chartType);
var option = null; // 根据下拉菜单选择的类型,设定对应的图表Option
// 根据下拉菜单选择的类型,设置myChart的Option
myChart.setOption(option);
}
// 监听下拉菜单的选择变化,重新渲染图表
document.getElementById('chartSelect').addEventListener('change', renderChart);
// 页面首次加载时渲染初始图表
renderChart();
</script>
</body>
</html>
```
对应的图表Option可以根据echarts文档进行设计,以下是每个图表对应的Option示例:
图表1:柱状图
```javascript
var option = {
title: {
text: '男女生还情况柱状图'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: ['男性生还', '男性死亡', '女性生还', '女性死亡']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
data: ['男性', '女性']
},
yAxis: {
type: 'value'
},
series: [
{
name: '男性生还',
type: 'bar',
stack: '男性',
data: [num_males_alive, num_males_dead]
},
{
name: '男性死亡',
type: 'bar',
stack: '男性',
data: [num_males_dead, num_males_alive]
},
{
name: '女性生还',
type: 'bar',
stack: '女性',
data: [num_females_alive, num_females_dead]
},
{
name: '女性死亡',
type: 'bar',
stack: '女性',
data: [num_females_dead, num_females_alive]
}
]
};
```
图表2:饼图
```javascript
var option = {
title: {
text: '男女生还情况饼图',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['男性生还', '男性死亡', '女性生还', '女性死亡']
},
series: [
{
name: '生还情况',
type: 'pie',
radius: ['50%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '30',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{value: num_males_alive, name: '男性生还'},
{value: num_males_dead, name: '男性死亡'},
{value: num_females_alive, name: '女性生还'},
{value: num_females_dead, name: '女性死亡'}
]
}
]
};
```
图表3:线状图
```javascript
var option = {
title: {
text: '各等舱生还人数线状图'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['生还人数']
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['1等舱', '2等舱', '3等舱']
},
yAxis: {
type: 'value'
},
series: [
{
name: '生还人数',
type: 'line',
data: [num_class1_alive, num_class2_alive, num_class3_alive]
}
]
};
```
图表4:散点图
```javascript
var option = {
title: {
text: '各等舱生还人员年龄散点图'
},
legend: {
data: ['生还人员']
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
yAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
series: [
{
name: '生还人员',
type: 'scatter',
data: [
[age_class1_alive, num_class1_alive],
[age_class2_alive, num_class2_alive],
[age_class3_alive, num_class3_alive]
]
}
]
};
```
阅读全文