You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问题:如何在饼图中移除标签并保留图例?

嘿,这个需求太常见啦!我来给你分几种常用工具拆解操作方法——核心逻辑就是关掉饼图本身的数值/类别标签,但保留图例的显示设置,具体怎么做看你用的工具:

1. Excel 可视化操作
  • 选中你的饼图,点击图表右上角的「+」号(图表元素按钮)
  • 找到「数据标签」选项,直接取消勾选它
  • 确认「图例」选项是勾选状态(默认一般都是开着的),这样图例就会稳稳保留啦
  • 要是需要更精细的控制,右键点击饼图 → 选择「设置数据标签格式」,在右侧面板里把所有标签相关的选项都关掉就行
2. Python Matplotlib 代码实现

用Matplotlib画饼图时,你可以通过两种方式隐藏饼上的标签同时保留图例:

  • 方法一:画饼图时不指定labels参数,单独调用plt.legend()添加图例:
import matplotlib.pyplot as plt

# 示例数据
sizes = [15, 30, 45, 10]
category_labels = ['类别A', '类别B', '类别C', '类别D']

# 绘制饼图,不显示饼上的标签
plt.pie(sizes)
# 单独添加图例
plt.legend(category_labels, loc="upper right")
plt.show()
  • 方法二:如果已经设置了labels,可以通过labeldistance参数设为0来隐藏饼上的标签:
plt.pie(sizes, labels=category_labels, labeldistance=0)
plt.legend()
plt.show()
3. Python Plotly 代码实现

Plotly里只需要在go.Pie()中将textinfo设为空字符串,同时保证showlegend=True(默认就是开启状态):

import plotly.graph_objects as go

labels = ['类别A', '类别B', '类别C', '类别D']
values = [10, 20, 30, 40]

fig = go.Figure(data=[go.Pie(labels=labels, values=values, textinfo='')])
fig.show()

这样饼图上不会显示任何标签内容,但图例依然正常展示。

4. R ggplot2 代码实现

用ggplot2的话,只要不添加geom_text()或geom_label()层,图例就会自动保留:

library(ggplot2)

# 示例数据框
df <- data.frame(
  category = c("类别A", "类别B", "类别C", "类别D"),
  value = c(25, 35, 20, 20)
)

ggplot(df, aes(x="", y=value, fill=category)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0) +
  theme_void() + # 移除多余的坐标轴等元素
  labs(fill="分类名称") # 可以给图例自定义标题

内容的提问来源于stack exchange,提问作者Ghilas BELHADJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:18:05