饼图生成器
每行输入「分类,数值」,点「计算」画出从 12 点方向顺时针排布的饼图;附彩色图例、占比明细表,自动标出最大占比的分类。
饼图用来展示构成占比:各部分加起来等于整体时才有意义,例如收入来源构成、访问渠道分布、预算分配。如果数据是不同量纲的指标(比如把销量与利润放在一起),或者需要看趋势,改用柱状图或折线图更合适。
读图时有一个常见误区:扇形角度按数值占总和的比例分配,因此占比之和恒为 100%(保留两位小数时可能出现 99.99% 或 100.01%,那是四舍五入的结果);另外分类不宜过多,超过 7~8 类时小扇形几乎无法分辨,建议把尾部合并为「其他」。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 每行填「分类,数值」,最多 50 行;只填数字时分类自动编号。
- 点「计算」出图:扇形自 12 点方向按输入顺序顺时针排布,图例同步配色。
- 看统计卡标出的最大占比分类,并对照明细表核对每项占比。
- 分类过多时先合并尾部为「其他」再出图,可读性明显更好。
计算原理与示例
数据怎么填
每行一条数据,格式「分类,数值」,最多 50 行;只填数字时分类自动按 1、2、3…编号。
扇形怎么排
扇形从 12 点方向开始、按输入顺序顺时针排布,角度 = 数值 ÷ 总和 × 360°;每个扇形按固定 8 色调色板循环取色,图例同步显示。
占比怎么算
占比 = 数值 ÷ 总和 × 100,保留两位小数;统计卡标出占比最高的分类,明细表列出每项数值与占比。
代码示例
JavaScript 用 ECharts 画饼图
const chart = echarts.init(document.getElementById('chart'));
chart.setOption({
tooltip: { trigger: 'item', formatter: '{b}: {c} ({d}%)' },
legend: { bottom: 0 },
series: [{
type: 'pie',
radius: '62%',
startAngle: 90, // 从 12 点方向开始
data: [
{ value: 1048, name: '直接访问' },
{ value: 735, name: '搜索引擎' },
{ value: 580, name: '邮件营销' },
],
}],
});
Shell 先核对占比再画图
# 求和(核对占比分母)
awk -F, 'NR>1{s+=$2} END{printf "合计 %d\n", s}' data.csv
# 从大到小排序,便于决定哪些小类合并为「其他」
sort -t, -k2 -nr data.csv | head -8
# 提示:占比之和应为 100%,有差额说明存在遗漏或重复数据
常见问题
支持负值或全 0 吗?
都不支持。负值的占比无意义,合计为 0 无法划分扇形,会分别提示;这类数据请改用柱状图或折线图。
扇形的顺序和颜色能换吗?
顺序按输入行序从 12 点方向顺时针排;颜色按固定 8 色循环(蓝/绿/黄/红/紫/青/粉/橙),想换色调整行序即可。
占比加起来不是 100% 怎么办?
每项占比独立四舍五入到两位小数,个别情况合计会是 99.99% 或 100.01%,属正常舍入误差。
和柱状图怎么选?
看构成占比(各部分占整体多少)用饼图;比大小、含负值或类目多于 6 个时柱状图更直观。
饼图数据会传到服务器吗?
不会。解析与绘制全部在浏览器本地完成,断网可用。
怎么把图放进报告?
对画布截图即可;画布按 640×360 分辨率绘制,图例在图下方,一起框选截图更完整。
最多能分几类?
50 类,但超过 6~8 类时扇形过细不易读,建议把小类合并成「其他」后再画。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。