用Seaborn生成柱状图,数据分为三大类,每个大类分为两小类,其中小类用累加柱状图表示,大类用并列柱状图表示
时间: 2023-10-23 19:08:24 浏览: 251
可以通过Seaborn中的`barplot`函数来生成柱状图,下面是一个示例代码:
```python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 构造数据
data = {'Category': ['A', 'A', 'B', 'B', 'C', 'C'],
'Subcategory': ['A1', 'A2', 'B1', 'B2', 'C1', 'C2'],
'Value': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
# 绘制图形
sns.set_style('whitegrid')
sns.barplot(x='Category', y='Value', hue='Subcategory', data=df, ci=None)
plt.show()
```
这里我们使用了Pandas构造一个DataFrame,其中Category表示大类,Subcategory表示小类,Value表示数值。然后使用`barplot`函数,指定x轴为Category,y轴为Value,hue为Subcategory,即可生成一个并列柱状图。
注意在这里我们使用了`ci=None`来关闭置信区间的计算,如果需要计算置信区间,可以将其设置为默认值`ci=95`。
如果需要将小类的柱状图叠加起来,可以将`hue`参数去掉,然后通过`dodge=False`参数来控制是否并列显示大类:
```python
sns.barplot(x='Category', y='Value', data=df, ci=None, dodge=False)
```
这样就可以生成一个累加柱状图了。
阅读全文