一、概览
ECharts是百度前端开发部开发的一个开源可视化库,它可以帮助开发者轻松的实现各种数据可视化。 横向柱状图是ECharts中一个非常常见的图表类型,可以用于展示一组数据中的大小比较。 横向柱状图可以非常清晰地展示数据量之间的差别,适用于可以接收到纵向数据标签的场景。
二、基础使用
ECharts中使用横向柱状图需初始化一个基础配置实例,在实例中配置好所需的样式和数据即可。 以下是一个基本的横向柱状图代码示例:
var myChart = echarts.init(document.getElementById('main'));
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: ['2011年', '2012年']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
yAxis: {
type: 'category',
data: ['北京', '上海', '广州', '深圳']
},
series: [
{
name: '2011年',
type: 'bar',
data: [18203, 23489, 29034, 104970]
},
{
name: '2012年',
type: 'bar',
data: [19325, 23438, 31000, 121594]
}
]
};
myChart.setOption(option);
上述代码会生成一个包含了北京、上海、广州和深圳四个城市在2011年和2012年的销售额数据的横向柱状图。
三、自定义样式
在ECharts中可以通过修改配置项的方式来达到定制化的目的,以下介绍一些自定义样式的方法。
1. 修改颜色
在ECharts中可以通过修改series
下的itemStyle
来修改每一项数据的样式,包括颜色。
代码如下:
var option = {
...
series: [
{
name: '2011年',
type: 'bar',
itemStyle: {
normal: {
color: '#1E90FF'
}
},
data: [18203, 23489, 29034, 104970]
},
{
name: '2012年',
type: 'bar',
itemStyle: {
normal: {
color: '#FF7F50'
}
},
data: [19325, 23438, 31000, 121594]
}
]
};
上述代码将2011年的数据柱子颜色修改为蓝色,2012年的数据柱子颜色修改为橙色。
2. 自定义x轴和y轴样式
ECharts中可以修改xAxis
和yAxis
中的axisLine
、axisLabel
、splitLine
等样式配置项来实现x轴和y轴的样式自定义。
例如,修改xAxis
和yAxis
中的颜色、字号和字体样式,代码如下:
var option = {
...
xAxis: {
type: 'value',
boundaryGap: [0, 0.01],
axisLabel: {
color: '#333',
fontSize: 14,
fontFamily: 'Arial'
},
axisLine: {
lineStyle: {
color: '#eee'
}
},
axisTick: {
show: false
}
},
yAxis: {
type: 'category',
data: ['北京', '上海', '广州', '深圳'],
axisLabel: {
color: '#333',
fontSize: 14,
fontFamily: 'Arial'
},
axisLine: {
lineStyle: {
color: '#eee'
}
},
axisTick: {
show: false
},
splitLine: {
lineStyle: {
type: 'dashed'
}
}
},
...
};
上述代码修改了xAxis和yAxis中的样式,包括颜色、字号和字体样式。
四、数据操作
在实际数据可视化开发中,经常需要对数据进行增删改查等操作。ECharts支持通过setOption
方法实现动态修改数据和切换视图等操作。
1. 增加数据
可以通过调用option
中的series
的data
数组的push
方法来增加新的数据项:
option.series[0].data.push(12345);
option.series[1].data.push(23456);
myChart.setOption(option);
上述代码会将2011年和2012年的北京、上海、广州和深圳四个城市的数据都增加12345和23456两个新的数据。
2. 删除数据
可以通过调用option
中的series
的data
数组的splice
方法来删除数据项:
option.series[0].data.splice(0, 1);
option.series[1].data.splice(0, 1);
myChart.setOption(option);
上述代码会将2011年和2012年的北京的数据删除。
3. 修改数据
可以通过直接修改option
中的series
的data
数组中的数据来修改数据项:
option.series[0].data[0] = 12345;
option.series[1].data[0] = 23456;
myChart.setOption(option);
上述代码会将2011年和2012年的北京的数据都修改为12345和23456。
五、数据标签定制化
ECharts中可以通过label
样式配置项来实现数据标签的定制化操作。
1. 隐藏数据标签
可以通过设置itemStyle
的normal
下的label
为null
来隐藏数据标签。
var option = {
...
series: [
{
name: '2011年',
type: 'bar',
itemStyle: {
normal: {
color: '#1E90FF',
label: {
show: false
}
}
},
data: [18203, 23489, 29034, 104970]
}
]
};
上述代码会隐藏横向柱状图的数据标签。
2. 修改数据标签颜色和字号
可以通过设置itemStyle
的normal
下的label
的color
和fontSize
属性来修改数据标签颜色和字号。
var option = {
...
series: [
{
name: '2011年',
type: 'bar',
itemStyle: {
normal: {
color: '#1E90FF',
label: {
show: true,
position: 'insideRight',
color: '#333',
fontSize: 14
}
}
},
data: [18203, 23489, 29034, 104970]
}
]
};
上述代码会将横向柱状图的数据标签颜色修改为黑色,字号修改为14px。
六、总结
本文介绍了ECharts中横向柱状图的基本用法和样式定制化方法,以及数据操作和数据标签定制化。希望读者能够通过本文的介绍,更好地运用ECharts中的横向柱状图,实现更加出色的数据可视化效果。