首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每个特征值的海选计数图

每个特征值的海选计数图
EN

Stack Overflow用户
提问于 2022-12-04 13:38:13
回答 1查看 15关注 0票数 0

我有如下数据集:

“岛”的特征有三种可能的价值:托根森、比斯科岛和梦想。我将打印为“海运计数图”如下:

代码语言:javascript
运行
复制
fig = sns.countplot(data=dataset, x='Island', hue='Species');

我得到了上面的信息。

我想要三个分开的地块,尽管每个岛。我尝试了以下几种方法,但这不起作用:

代码语言:javascript
运行
复制
fig = sns.countplot(data=dataset, x='Island['Torgersen', hue='Species');
fig = sns.countplot(data=dataset, x='Island['Biscoe Island', hue='Species');
fig = sns.countplot(data=dataset, x='Island['Dream', hue='Species');

但这似乎行不通。你知道我怎样才能得到三个地块(每个岛一块),而不是一个地块(三个岛都有)?

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 20:09:52

您可以创建一个FacetGrid,然后将sns.countplot映射到每个子图。

代码语言:javascript
运行
复制
import matplotlib.pyplot as plt
import seaborn as sns

dataset = sns.load_dataset('penguins')
g = sns.FacetGrid(data=dataset, col='island')

species = dataset['species'].unique()
g.map(sns.countplot, 'species', order=species, palette='turbo')
for ax in g.axes.flat:
     ax.bar_label(ax.containers[0])
plt.show()

PS:您也可以通过对sns.displot的一次调用来绘制此图(这将对所有的条形图使用相同的颜色)。

代码语言:javascript
运行
复制
g = sns.displot(data=dataset, kind='hist', stat='count', col='island', x='species', shrink=0.8)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74677119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档