『Plotly实战指南』--饼图绘制基础篇

打印 上一主题 下一主题

主题 1812|帖子 1812|积分 5436

在数据可视化的世界里,饼图是一种直观且广泛使用的图表类型。
它能够将数据各个部分占团体的比例关系清晰地展现出来,适用于诸如市场占有率分析、观察结果分布、预算分配等多个领域。
饼图以扇形面积比例直观展示数据分布,适适用于:

  • 分类数据的占比分析(如市场份额、用户画像)
  • 少量数据的对比出现(≤6 个分类最佳)
  • 快速传达核心结论(如 "最大 / 最小占比项")
本文的主要内容包括饼图的基本绘制步调、标签与百分比显示设置以及样式基础优化等方面。
1. 基本饼图绘制

1.1. 数据预备

使用 Plotly 绘制饼图时,数据主要通过两个参数举行通报:labels 和 values。

  • labels: 用于指定每个数据切片的名称种别,它接受一个字符串列表
  • values:对应各个种别的数值大小,接受一个数值列表或数组
这种数据格式要求使得数据构造清晰明了,便于后续的图表生成。
比如:
  1. import plotly.graph_objects as go
  2. # 数据准备
  3. labels = ['类别A', '类别B', '类别C', '类别D']  # 类别标签
  4. values = [45, 25, 15, 15]  # 对应数值
复制代码
我们起首导入了 Plotly 的 graph_objects 模块,然后分别定义了种别标签和对应的数值列表,为后续的饼图绘制提供了数据基础。
然后绘制饼图:
  1. # 创建饼图对象
  2. fig = go.Figure(data=[go.Pie(labels=labels, values=values)])
  3. fig.show()
复制代码

通过 go.Pie() 函数,将预备好的数据通报进去,创建了一个基本的饼图对象。
这个对象包含了饼图的核心数据结构,后续可以通过对 fig 对象的进一步配置来定制图表的显示效果。
1.2. 标签设置

通过 text 参数,可以指定在饼图切片上显示的文本内容。
下面的示例中,我们将 text 设置为与 labels 相同的值,这样每个切片上就会显示对应的种别名称,方便快速识别各个切片所代表的种别。
  1. # 文本标签配置
  2. fig = go.Figure(data=[go.Pie(labels=labels, values=values, text=labels)])
复制代码

还可以通过textposition='outside'参数将文本标签的位置设置在切片外部,避免文本在切片内部显示可能造成的拥挤和可读性问题。
  1. # 文本位置调整
  2. fig = go.Figure(data=[go.Pie(labels=labels, values=values, textposition='outside')])
复制代码

2. 饼图样式优化

2.1. 切片颜色

通过 marker=dict(colors=...) 的方式,我们可以直接为每个切片指定颜色,替换 Plotly 的默认颜色方案。
公道选择颜色可以使图表更加美观,并且能够突出重点数据。
  1. # 默认颜色方案调整
  2. fig = go.Figure(
  3.     data=[
  4.         go.Pie(
  5.             labels=labels,
  6.             values=values,
  7.             marker=dict(
  8.                 colors=[
  9.                     "gold",
  10.                     "mediumturquoise",
  11.                     "darkorange",
  12.                     "lightgreen",
  13.                 ]
  14.             ),
  15.         )
  16.     ],
  17. )
  18. fig.show()
复制代码

除了通过颜色来突出某些切片以外,还可以使用 pull 参数可以将指定的切片从饼图中心拉出,实现高亮显示的效果。
这种显示方式常用于夸大重点数据或异常值。
  1. # 特定切片高亮
  2. fig = go.Figure(data=[go.Pie(labels=labels, values=values, pull=[0, 0.2, 0, 0])])
  3. fig.show()
复制代码

2.2. 边框和配景

通过 marker=dict(...) 的方式,不仅可以指定切片的颜色,也可以指定边框的颜色和宽度。
  1. # 切片边框调整
  2. fig = go.Figure(
  3.     data=[
  4.         go.Pie(
  5.             labels=labels,
  6.             values=values,
  7.             marker=dict(line=dict(color="white", width=5)),
  8.         )
  9.     ],
  10. )
  11. fig.show()
复制代码

通过 marker=dict(line=dict(...)) 设置,使切片之间更加分明,提升图表的整洁度和美观度。
paper_bgcolor 参数用于设置整个图表的配景颜色,选择合适的配景色可以使图表在不同的展示情况中具有更好的视觉效果和可读性。
  1. # 图表背景色配置
  2. fig.update_layout(paper_bgcolor='lightgray')
  3. fig.show()
复制代码

还有plot_bgcolor 参数专门用于设置绘图区域的配景颜色,将其与图表配景色区分开来,增强图表的层次感和专业性。
  1. # 绘图区域背景设置
  2. fig.update_layout(plot_bgcolor='')
复制代码
还有 opacity 参数,可以调解切片的透明度,使其在与其他图表元素叠加或在不同配景色下展示时更加协调和美观。
  1. # 透明度调节
  2. fig = go.Figure(data=[go.Pie(labels=labels, values=values, opacity=0.8)])
复制代码
3. 总结

本文介绍了使用 Plotly 绘制基础饼图的方法和步调,包括数据预备、基本绘制、标签设置以及样式基础优化等方面。
重点介绍了如何通过 labels 和 values 参数通报数据,
使用 textinfo、textposition 等参数控制文本显示,以及通过颜色调解、边框设置、配景配置和透明度调节等手段优化饼图的样式,使图表更加美观和专业。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表