news 2026/4/16 18:15:18

Highcharts 饼图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Highcharts 饼图

Highcharts 饼图(Pie Chart)详解

Highcharts 的饼图是最经典的占比展示图表,适合显示一个数据系列中各部分占整体的比例(总和为100%)。它支持普通饼图、半圆饼图(semi-circle donut)、环形图(donut)、3D 饼图等多种变体。

主要类型
  • pie:基本饼图
  • donut:环形饼图(中间镂空,常用于突出总值)
  • 3D pie:立体饼图(需引入 highcharts-3d.js)
1. 基本饼图示例

以下是一个完整的标准饼图示例:

<!DOCTYPEhtml><htmllang="zh"><head><metacharset="UTF-8"><title>Highcharts 饼图示例</title><scriptsrc="https://code.highcharts.com/highcharts.js"></script></head><body><divid="container"style="width:800px;height:600px;margin:50px auto;"></div><script>Highcharts.chart('container',{chart:{type:'pie',// 关键:设置为 'pie'backgroundColor:'#f8f9fa',plotShadow:true// 轻微阴影,提升立体感},title:{text:'2024年浏览器市场份额',style:{fontWeight:'bold',fontSize:'22px'}},subtitle:{text:'数据来源:StatCounter'},tooltip:{pointFormat:'<b>{point.percentage:.1f}%</b>',// 显示百分比percentageDecimals:1},accessibility:{point:{valueSuffix:'%'}},plotOptions:{pie:{allowPointSelect:true,// 允许点击选中扇区cursor:'pointer',// 鼠标悬停显示手型borderRadius:5,// 扇区圆角dataLabels:{enabled:true,// 显示标签format:'<b>{point.name}</b><br>{point.percentage:.1f}%',distance:30,// 标签距离扇区距离style:{fontSize:'14px'}},showInLegend:true// 显示图例(可选)}},series:[{name:'市场份额',colorByPoint:true,// 每个扇区自动不同颜色data:[{name:'Chrome',y:64.8,sliced:true,// 突出显示该扇区selected:true},{name:'Safari',y:19.8},{name:'Edge',y:5.3},{name:'Firefox',y:4.2},{name:'其他',y:5.9}]}]});</script></body></html>
2. 环形饼图(Donut Chart)——最常用变体

只需在plotOptions.pie中添加innerSize即可实现环形效果:

plotOptions:{pie:{innerSize:'50%',// 关键:内圈大小(50%~70% 常见)depth:45,// 可选:增加厚度(类似3D效果)dataLabels:{enabled:true,distance:-50,// 标签放在内圈format:'<b>{point.name}</b>: {point.percentage:.1f}%',style:{fontWeight:'bold'}}}},// 可在中心显示总值center:['50%','50%'],// 额外添加中心文本(需自定义)events:{render:function(){// 自定义中心文本示例(可选)letrenderer=this.renderer;lettotal=this.series[0].data.reduce((sum,point)=>sum+point.y,0);if(!this.totalText){this.totalText=renderer.text('总计<br><b>100%</b>',this.plotWidth/2,this.plotHeight/2).css({fontSize:'20px',textAnchor:'middle'}).add();}}}
3. 半圆饼图(Semi-circle Donut)
chart:{type:'pie',options3d:{enabled:false}},plotOptions:{pie:{innerSize:'50%',startAngle:-90,// 从顶部开始endAngle:90,// 只画半圆center:['50%','75%']// 下移中心位置}}
4. 3D 饼图

需额外引入模块:

<scriptsrc="https://code.highcharts.com/highcharts-3d.js"></script>
chart:{type:'pie',options3d:{enabled:true,alpha:45,// 垂直倾斜角beta:0,depth:50// 厚度}},plotOptions:{pie:{depth:50}}
5. 常用配置总结
配置项说明与推荐值
chart.type‘pie’
plotOptions.pie.innerSize‘0%’(实心) / ‘40%-70%’(环形)
plotOptions.pie.dataLabels{ enabled: true }(强烈推荐开启)
series.colorByPointtrue(自动分配颜色)
point.sliced/selected突出某个扇区
plotOptions.pie.startAngle/endAngle控制饼图旋转角度和范围(半圆常用)

饼图数据必须是单系列,且各点 y 值总和最好为 100(Highcharts 会自动计算百分比)。

如果你需要:

  • 多层嵌套环形图(variable pie)
  • 点击钻取子饼图(drilldown)
  • 自定义颜色主题
  • 在 Vue/React 中的封装方式

告诉我具体需求,我可以提供完整代码示例!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:04:12

定义未来科学家的四个基本素质

科学并非唯一飞速发展的领域&#xff0c;人类自身亦在不断进化。每一天&#xff0c;我们都在适应全新的现实环境&#xff0c;拓宽认知边界&#xff0c;深化对世界的理解。新一代科学家正站在这场集体进化的前沿阵地&#xff0c;他们当下培养的核心素养&#xff0c;将塑造人类的…

作者头像 李华
网站建设 2026/4/16 16:13:19

如何快速设计星露谷农场:新手完整布局指南

如何快速设计星露谷农场&#xff1a;新手完整布局指南 【免费下载链接】stardewplanner Stardew Valley farm planner 项目地址: https://gitcode.com/gh_mirrors/st/stardewplanner 想要在星露谷物语中打造一个既美观又高效的农场吗&#xff1f;星露谷布局设计是游戏中…

作者头像 李华
网站建设 2026/4/16 16:13:28

CESM地球系统模型完整入门手册:从配置到应用实战

CESM地球系统模型完整入门手册&#xff1a;从配置到应用实战 【免费下载链接】CESM The Community Earth System Model 项目地址: https://gitcode.com/gh_mirrors/ce/CESM 你是否曾经面对复杂的地球系统模型时感到手足无措&#xff1f;CESM作为全球最权威的地球系统模型…

作者头像 李华
网站建设 2026/4/16 15:16:01

Windows系统MinGW-w64开发环境搭建终极教程:从零开始快速上手

Windows系统MinGW-w64开发环境搭建终极教程&#xff1a;从零开始快速上手 【免费下载链接】mingw-w64 (Unofficial) Mirror of mingw-w64-code 项目地址: https://gitcode.com/gh_mirrors/mi/mingw-w64 想要在Windows系统上轻松编译C/C程序&#xff1f;MinGW-w64编译器套…

作者头像 李华
网站建设 2026/4/16 15:34:53

PHP布隆过滤器的庖丁解牛

这是一个用空间换时间&#xff0c;专门解决“是否存在”问题的概率型数据结构。第一层&#xff1a;本质与要解决的问题 布隆过滤器的核心价值是&#xff1a; 用一个极小的空间成本&#xff0c;快速判断一个元素“绝对不存在”或“可能存在”于一个超大规模集合中。 它要解决的痛…

作者头像 李华
网站建设 2026/4/16 15:34:06

PokeMMO引擎终极指南:快速构建多人在线游戏世界

想要打造属于自己的多人在线游戏吗&#xff1f;PokeMMO引擎正是你需要的完整解决方案&#xff01;这款基于Web技术的开源游戏引擎&#xff0c;让你能够轻松创建功能丰富的多人在线游戏世界&#xff0c;支持实时编辑和多人联机功能。无论你是游戏开发新手还是经验丰富的开发者&a…

作者头像 李华