📅  最后修改于: 2023-12-03 15:24:20.426000             🧑  作者: Mango
Python-Plotly是一个用于数据可视化的强大Python库,它可以帮助你轻松绘制各种类型的图表。其中,堆叠条形图是一种常见的图表类型,通常用于比较多个类别的各自组成部分的大小,这些类别通常是连续的。
本文将介绍如何使用Python-Plotly库创建堆叠条形图。
在开始之前,您需要先安装Python-Plotly库。您可以通过运行以下命令(需要使用管理员权限)来安装它:
pip install plotly
如果您使用的是Anaconda,则可以使用以下命令来安装它:
conda install -c plotly plotly
在开始创建堆叠条形图之前,您需要导入以下库:
import plotly.graph_objs as go
from plotly.subplots import make_subplots
接下来,您需要准备用于创建堆叠条形图的数据。在本示例中,我们将使用以下数据集:
labels = ['A', 'B', 'C', 'D']
x = [10, 20, 30, 40]
y1 = [5, 10, 15, 20]
y2 = [5, 10, 15, 20]
y3 = [5, 10, 15, 20]
其中,labels
是要显示在x轴上的标签,x
是所有类别的总和,y1
,y2
和y3
是每个类别各自的组成部分。
接下来,您需要使用Python-Plotly库创建堆叠条形图。在本例中,我们将使用make_subplots
函数创建一个包含一个图形的图表,并在该图形中添加堆叠条形图。
fig = make_subplots(rows=1, cols=1, start_cell='top-left')
fig.add_trace(go.Bar(x=labels, y=y1, name='Category 1'), row=1, col=1)
fig.add_trace(go.Bar(x=labels, y=y2, name='Category 2'), row=1, col=1, base=y1)
fig.add_trace(go.Bar(x=labels, y=y3, name='Category 3'), row=1, col=1, base=[y1[i] + y2[i] for i in range(len(y1))])
fig.show()
这将创建一个堆叠条形图,其中每个类别的各自组成部分均紧密排列在一起,并以不同的颜色填充。其中,第一个图形定义了第一个类别的大小,第二个图形定义了第二个类别的大小,但将其堆叠在第一个类别上,第三个图形定义了第三个类别的大小,但将其堆叠在前两个类别上。
您还可以根据需要配置堆叠条形图。例如,您可以添加轴标签、图表标题或修改轴范围等。
fig.update_xaxes(title_text='X Axis Title')
fig.update_yaxes(title_text='Y Axis Title')
fig.update_layout(title_text='Stacked Bar Chart')
以下是完整代码,您可以将其复制并在Python环境中运行:
import plotly.graph_objs as go
from plotly.subplots import make_subplots
labels = ['A', 'B', 'C', 'D']
x = [10, 20, 30, 40]
y1 = [5, 10, 15, 20]
y2 = [5, 10, 15, 20]
y3 = [5, 10, 15, 20]
fig = make_subplots(rows=1, cols=1, start_cell='top-left')
fig.add_trace(go.Bar(x=labels, y=y1, name='Category 1'), row=1, col=1)
fig.add_trace(go.Bar(x=labels, y=y2, name='Category 2'), row=1, col=1, base=y1)
fig.add_trace(go.Bar(x=labels, y=y3, name='Category 3'), row=1, col=1, base=[y1[i] + y2[i] for i in range(len(y1))])
fig.update_xaxes(title_text='X Axis Title')
fig.update_yaxes(title_text='Y Axis Title')
fig.update_layout(title_text='Stacked Bar Chart')
fig.show()
本文介绍了如何使用Python-Plotly库创建堆叠条形图。使用这个简单的例子,您可以轻松地创建您自己的堆叠条形图,并添加自己的数据和配置,以满足您的需求。