Highcharts 区域图(Area Chart)配置
区域图(Area Chart)是基于折线图的图表类型,通常用于展示一个或多个数据系列之间的区域。它不仅显示数据的变化趋势,还用颜色填充了折线下方的区域,从而使得图表更具可读性和美观。
1. 基本区域图配置
下面是一个简单的区域图配置示例,显示一个系列的数据:
Highcharts.chart('container', {
chart: {
type: 'area' // 设置图表类型为区域图
},
title: {
text: '每月销售量(区域图)'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月'], // x轴的分类
title: {
text: '月份'
}
},
yAxis: {
title: {
text: '销售量'
}
},
tooltip: {
pointFormat: '{series.name}: {point.y} 单位'
},
series: [{
name: '销售量',
data: [30, 40, 50, 60, 70], // 数据
color: '#FF5733' // 区域图的颜色
}]
});
2. 多个数据系列的区域图
Highcharts 支持在同一图表中绘制多个数据系列的区域图,通常用于比较多个数据系列的趋势。
Highcharts.chart('container', {
chart: {
type: 'area' // 设置图表类型为区域图
},
title: {
text: '销售数据对比'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月']
},
yAxis: {
title: {
text: '销售量'
}
},
tooltip: {
shared: true, // 启用多个系列的共享提示框
pointFormat: '{series.name}: {point.y} 单位'
},
series: [{
name: '2025年销售',
data: [30, 40, 50, 60, 70],
color: '#FF5733'
}, {
name: '2024年销售',
data: [20, 30, 40, 50, 60],
color: '#33B5FF'
}]
});
3. 区域图的堆叠(Stacked Area Chart)
堆叠区域图(Stacked Area Chart)将多个区域堆叠在一起,展示多个数据系列之间的相对比例,适合用于显示数据总量以及各个系列对总量的贡献。
Highcharts.chart('container', {
chart: {
type: 'area' // 设置图表类型为区域图
},
title: {
text: '堆叠区域图示例'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月']
},
yAxis: {
title: {
text: '销售量'
},
stackLabels: {
enabled: true, // 启用堆叠标签
style: {
fontWeight: 'bold',
color: '#000000'
}
}
},
tooltip: {
shared: true,
pointFormat: '{series.name}: {point.y} 单位'
},
plotOptions: {
area: {
stacking: 'normal' // 启用堆叠
}
},
series: [{
name: '产品 A',
data: [30, 40, 50, 60, 70],
color: '#FF5733'
}, {
name: '产品 B',
data: [20, 30, 40, 50, 60],
color: '#33B5FF'
}]
});
4. 区域图的渐变填充
你可以为区域图的填充部分使用渐变色,增强图表的视觉效果。以下是使用渐变色填充区域图的配置:
Highcharts.chart('container', {
chart: {
type: 'area'
},
title: {
text: '区域图 - 渐变填充'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月']
},
yAxis: {
title: {
text: '销售量'
}
},
tooltip: {
pointFormat: '{series.name}: {point.y} 单位'
},
series: [{
name: '销售量',
data: [30, 40, 50, 60, 70],
color: {
linearGradient: [0, 0, 1, 1], // 渐变起始和结束坐标
stops: [
[0, '#FF5733'], // 渐变色从红色开始
[1, '#FFFF00'] // 渐变色到黄色结束
]
}
}]
});
5. 区域图的点标记
你还可以为区域图中的数据点添加标记,例如使用圆形或方形的点标记来突出显示特定数据点。
Highcharts.chart('container', {
chart: {
type: 'area'
},
title: {
text: '区域图 - 数据点标记'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月']
},
yAxis: {
title: {
text: '销售量'
}
},
tooltip: {
pointFormat: '{series.name}: {point.y} 单位'
},
series: [{
name: '销售量',
data: [30, 40, 50, 60, 70],
marker: {
symbol: 'circle', // 设置数据点为圆形
radius: 4, // 数据点的半径
fillColor: '#FF5733' // 数据点的颜色
}
}]
});
6. 区域图的动画效果
Highcharts 支持对区域图添加动画效果,可以在图表加载时使其更加生动。
Highcharts.chart('container', {
chart: {
type: 'area',
animation: {
duration: 1000, // 设置动画时长
easing: 'easeOutBounce' // 设置动画效果
}
},
title: {
text: '区域图 - 动画效果'
},
subtitle: {
text: '2025年数据'
},
xAxis: {
categories: ['1月', '2月', '3月', '4月', '5月']
},
yAxis: {
title: {
text: '销售量'
}
},
series: [{
name: '销售量',
data: [30, 40, 50, 60, 70]
}]
});
7. 总结
Highcharts 区域图(Area Chart)不仅可以用来展示数据的趋势,还可以通过填充区域和使用渐变色、堆叠等方式增强图表的视觉效果。你可以灵活地调整区域图的样式,展示多个数据系列、设置动画、显示数据标签等,来使得图表更加丰富和互动。
如果你有更多问题或需要进一步定制你的区域图,随时告诉我!
发表回复