📅  最后修改于: 2023-12-03 15:23:15.404000             🧑  作者: Mango
Plotly 是一个用于数据可视化和数据分析的开源工具。其中,graph_objects 类允许程序员使用 Python 代码绘制高度可定制的图形。
Sunburst Plot(旋转饼图)是一种展示层级结构数据的可视化图表。在此文档中,将介绍如何在 Plotly 中使用 graph_objects 类绘制 Sunburst Plot。
在开始之前,请确保已经安装了 Plotly。如果还未安装,可以使用以下命令在命令行中安装:
pip install plotly==4.14.3
注意:这里我们使用了 4.14.3 版本的 Plotly。如果你正在使用较旧的版本,请注意一些语法可能略有不同。
在开始使用 Plotly 之前,需要导入所需的库。
import plotly.graph_objects as go
在绘制 Sunburst Plot 之前,需要准备包含层级数据的数据帧。此时,需要注意以下几点:
在本文中,我们使用 Plotly 自带的数据集“election”来演示:
import pandas as pd
data = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/election.csv")
现在,我们准备好使用 Plotly 绘制 Sunburst Plot 了。我们使用 graph_objects 类中的 go.Sunburst
创建 Sunburst Plot 对象,并使用数据帧中的列名来指定每个层级数据点的名称、父节点、值等参数。下面是一个简单的示例:
fig = go.Figure(go.Sunburst(
labels=data["candidate"],
parents=data["parent"],
values=data["vote"],
))
在上面的示例中,我们将“candidate”列设置为层级数据点的名称,将“parent”列设置为其父节点,将“vote”列设置为该节点的值。
注意:我们使用
go.Figure
函数将 Sunburst Plot 对象传递给 plotly.subplots 函数,以便在需要时方便地在同一个图表中绘制多个图形。
在绘制 Sunburst Plot 之后,您可以使用各种方法来自定义其外观和行为。
例如,您可以更改 Sunburst Plot 的颜色主题:
fig.update_layout(colorway=['#FFCDD2', '#A2D5F2', '#FF7033', '#FFE082', '#DCE775'])
您也可以将图例位置更改为右上角:
fig.update_layout(legend=dict(yanchor="top", y=0.99, xanchor="left", x=0.01))
最后,您可以使用以下代码将图表显示在 Jupyter Notebook 或任何支持 Plotly 图表的应用程序中:
fig.show()
import plotly.graph_objects as go
import pandas as pd
data = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/election.csv")
fig = go.Figure(go.Sunburst(
labels=data["candidate"],
parents=data["parent"],
values=data["vote"],
))
fig.update_layout(colorway=['#FFCDD2', '#A2D5F2', '#FF7033', '#FFE082', '#DCE775'])
fig.update_layout(legend=dict(yanchor="top", y=0.99, xanchor="left", x=0.01))
fig.show()
使用 graph_objects 类的 Sunburst Plot 可以帮助您更好地理解高度层级的数据结构。使用此工具,您可以快速创建可视化图表,以便更好地展示和分析层级数据。