echarts 饼状图,柱状图,线状图是怎么实现的
时间: 2024-12-30 16:23:47 浏览: 7
### 使用 ECharts 实现饼状图、柱状图和线状图
#### 饼状图实现方法
为了创建一个简单的饼状图,可以通过定义 `series` 类型为 `'pie'` 来指定这是一个饼图。以下是构建饼图的一个基本实例:
```javascript
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
option = {
title: {
text: '某站点用户访问来源',
subtext: '纯属虚构',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: '访问来源',
type: 'pie',
radius: '50%',
data: [
{value: 1048, name: '搜索引擎'},
{value: 735, name: '直接访问'},
{value: 580, name: '邮件营销'},
{value: 484, name: '联盟广告'},
{value: 300, name: '视频广告'}
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
if (option && typeof option === 'object') {
myChart.setOption(option);
}
```
此代码片段展示了如何初始化图表并设置其配置项来展示不同类别的比例分布情况[^1]。
#### 柱状图实现方式
对于柱状图而言,则需将 `series.type` 设置成 `'bar'` 并提供相应的数据集给它处理。这里给出一段用来生成简单柱状图的例子:
```javascript
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar'
}]
};
myChart.setOption(option);
```
这段脚本说明了怎样利用时间序列作为 X 轴标签,并且用数值表示 Y 轴上的高度变化趋势[^2]。
#### 折线图(线状图)
最后来看下折线图的做法,只需把 `series.type` 改设为 `'line'` 即可得到连续性的线条连接各个点位形成走势曲线。下面是一份简易版本的折线图样例:
```javascript
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;
option = {
xAxis: {
type: 'category',
boundaryGap: false,
data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line',
areaStyle: {}
}]
};
myChart.setOption(option);
```
上述例子解释了当我们将类别轴(`xAxis`)的数据设定为中国一周七天名称时,配合对应的销售量数组就能画出一条随日期波动的价格轨迹。
阅读全文