如何在 seaborn 中创建堆积条形图(逐步)
堆积条形图是一种图表类型,它使用分为多个子条的条形图来同时可视化多个变量的值。
本教程提供了如何使用Seaborn数据可视化包在 Python 中创建以下堆积条形图的分步示例:
第 1 步:创建数据
首先,我们创建以下 pandas DataFrame,显示餐厅周一到周五早上和晚上接待的顾客总数:
import pandas as pd #createDataFrame df = pd. DataFrame ({' Day ': ['Mon', 'Tue', 'Wed', 'Thur', 'Fri'], ' Morning ': [44, 46, 49, 59, 54], ' Evening ': [33, 46, 50, 49, 60]}) #view DataFrame df Day Morning Evening 0 My 44 33 1 Kills 46 46 2 Wed 49 50 3 Thur 59 49 4 Fri 54 60
第 2 步:创建堆积条形图
我们可以使用以下代码创建一个堆积条形图来可视化每天的客户总数:
import matplotlib.pyplot as plt
import seaborn as sns
#set seaborn plotting aesthetics
sns. set (style=' white ')
#create stacked bar chart
df. set_index (' Day '). plot (kind=' bar ', stacked= True , color=[' steelblue ', ' red '])
X 轴显示星期几,条形显示每天早上和晚上访问餐厅的顾客数量。
第 3 步:自定义堆积条形图
以下代码演示如何添加轴标题、添加全局标题以及旋转 X 轴标签以使其更易于阅读:
import matplotlib.pyplot as plt
import seaborn as sns
#set seaborn plotting aesthetics
sns. set (style=' white ')
#create stacked bar chart
df. set_index (' Day '). plot (kind=' bar ', stacked= True , color=[' steelblue ', ' red '])
#add overall title
plt. title (' Customers by Time & Day of Week ', fontsize= 16 )
#add axis titles
plt. xlabel (' Day of Week ')
plt. ylabel (' Number of Customers ')
#rotate x-axis labels
plt. xticks (rotation= 45 )
注意:我们将此图的海洋风格设置为“白色”,但您可以在此页面上找到海洋图美学的完整列表。
其他资源
以下教程介绍了如何在 Seaborn 中创建其他常见可视化: