一、Echarts简介
Echarts是一个基于JavaScript的数据可视化库,可以制作各种类型的图表,比如折线图、柱状图、饼图等。它非常易于使用,支持大量的图表类型和选项设置。Echarts提供了丰富的交互方式,轻松的支持控件、图例、标签等。Echarts的图表非常精美,支持分类轴、时间轴、值域轴等多种类型的轴。
在Echarts中,图表是通过JavaScript代码来创建的,可以自定义各种选项。Echarts采用模块化设计,用户可以非常灵活地组合各种组件、配置文件和数据来实现需要的图表。同时,Echarts的官方文档非常齐全,用户可以轻松地找到需要的解决方案。
二、Echarts的基本用法
Echarts使用起来非常方便,首先需要在HTML文件中引入Echarts的JavaScript文件。
<script src="echarts.js"></script>
然后,在JavaScript代码中创建Echarts实例,并设置需要展示的数据和配置项。
// 初始化Echarts实例
var myChart = echarts.init(document.getElementById('chart'));
// 设置数据和配置项
var option = {
title: {
text: '某地区的销售情况'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
};
// 使用刚指定的配置项和数据显示图表
myChart.setOption(option);
在以上示例中,我们创建了一个柱状图,使用了Echarts提供的基本配置项和数据。其中,xAxis表示x轴,yAxis表示y轴,series表示系列。Echarts还提供了其他更高级的选项,比如grid、toolbox和dataZoom等。可以根据需要自定义配置选项来制作更多样化的图表。
三、实例展示
下面包含三个实例展示,分别是折线图、饼图和地图。
折线图
折线图常用于展示随时间变化的数据趋势。以下代码展示了如何制作一个折线图。
<div id="line-chart" style="width: 700px;height:400px;"></div>
<script>
var lineChart = echarts.init(document.getElementById('line-chart'));
var option = {
title: {
text: '产品销量'
},
tooltip: {
trigger: 'axis'
},
legend: {
data:['销量']
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} 件'
}
},
series: [
{
name:'销量',
type:'line',
data:[120, 132, 101, 134, 90, 230, 210, 200, 150, 110, 90, 200],
itemStyle: {color: '#5ab1ef'},
lineStyle: {color: '#5ab1ef'}
}
]
};
lineChart.setOption(option);
</script>
以上代码展示了一个折线图,使用了Echarts提供的基本配置项和数据。其中,xAxis表示x轴,yAxis表示y轴,series表示系列。折线图中的每条线通过series配置中的type项来指定,这里我们制作了一条线。Echarts还提供了其他更多样化的选项,可以根据需要自定义配置选项来制作更多样化的图表。
饼图
饼图常用于展示数据的占比。以下代码展示了如何制作一个饼图。
<div id="pie-chart" style="width: 700px;height:400px;"></div>
<script>
var pieChart = echarts.init(document.getElementById('pie-chart'));
var option = {
title: {
text: '产品销售占比',
subtext: '2021年第一季度',
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: ['iphone12','小米11','华为P40','OPPO Reno5','vivo X60']
},
series: [
{
name: '销售占比',
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data:[
{value:335, name:'iphone12'},
{value:310, name:'小米11'},
{value:234, name:'华为P40'},
{value:135, name:'OPPO Reno5'},
{value:1548, name:'vivo X60'}
],
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
pieChart.setOption(option);
</script>
以上代码展示了一个饼图,使用了Echarts提供的基本配置项和数据。其中,series表示系列,这里我们制作了一个饼图系列。Echarts还提供了其他更多样化的选项,可以根据需要自定义配置选项来制作更多样化的图表。
地图
地图常用于展示地理信息。以下代码展示了如何制作一个地图。
<div id="map-chart" style="width: 700px;height:400px;"></div>
<script>
var mapChart = echarts.init(document.getElementById('map-chart'));
var option = {
title: {
text: '中国各省份销售额',
subtext: '2021年第一季度',
left: 'center'
},
tooltip: {
trigger: 'item'
},
visualMap: {
min: 0,
max: 1500,
left: 'left',
top: 'bottom',
text: ['高','低'],
calculable: true
},
series: [
{
name: '销售额',
type: 'map',
mapType: 'china',
roam: false,
data:[
{name: '北京', value: Math.round(Math.random()*1000)},
{name: '天津', value: Math.round(Math.random()*1000)},
{name: '上海', value: Math.round(Math.random()*1000)},
{name: '重庆', value: Math.round(Math.random()*1000)},
{name: '河北', value: Math.round(Math.random()*1000)},
{name: '河南', value: Math.round(Math.random()*1000)},
{name: '云南', value: Math.round(Math.random()*1000)},
{name: '辽宁', value: Math.round(Math.random()*1000)},
{name: '黑龙江', value: Math.round(Math.random()*1000)},
{name: '湖南', value: Math.round(Math.random()*1000)},
{name: '安徽', value: Math.round(Math.random()*1000)},
{name: '山东', value: Math.round(Math.random()*1000)},
{name: '新疆', value: Math.round(Math.random()*1000)},
{name: '江苏', value: Math.round(Math.random()*1000)},
{name: '浙江', value: Math.round(Math.random()*1000)},
{name: '江西', value: Math.round(Math.random()*1000)},
{name: '湖北', value: Math.round(Math.random()*1000)},
{name: '广西', value: Math.round(Math.random()*1000)},
{name: '甘肃', value: Math.round(Math.random()*1000)},
{name: '山西', value: Math.round(Math.random()*1000)},
{name: '内蒙古', value: Math.round(Math.random()*1000)},
{name: '陕西', value: Math.round(Math.random()*1000)},
{name: '吉林', value: Math.round(Math.random()*1000)},
{name: '福建', value: Math.round(Math.random()*1000)},
{name: '贵州', value: Math.round(Math.random()*1000)},
{name: '广东', value: Math.round(Math.random()*1000)},
{name: '青海', value: Math.round(Math.random()*1000)},
{name: '西藏', value: Math.round(Math.random()*1000)},
{name: '四川', value: Math.round(Math.random()*1000)},
{name: '宁夏', value: Math.round(Math.random()*1000)},
{name: '海南', value: Math.round(Math.random()*1000)},
{name: '台湾', value: Math.round(Math.random()*1000)},
{name: '香港', value: Math.round(Math.random()*1000)},
{name: '澳门', value: Math.round(Math.random()*1000)}
],
emphasis: {
label: {
show: true
}
}
}
]
};
mapChart.setOption(option);
</script>
以上代码展示了一个地图,使用了Echarts提供的基本配置项和数据。其中,visualMap表示视觉映射,使用了最小值和最大值对数据进行映射,并且设置了文本和是否可计算选项。series表示系列,这里我们制作了一个地图系列。Echarts还提供了其他更多样化的选项,可以根据需要自定义配置选项来制作更多样化的图表。