大佬教程收集整理的这篇文章主要介绍了如何在分类数据上与 seaborn 聊天时获取标签值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面显示的是用于获取 seaborn 上分类数据的条形字符的语法
import seaborn as sn
import matplotlib as mpl
import matplotlib.pyplot as plt
IN: data['coast'].dtypes
OUT:
CategoricalDtype(categorIEs=[0,1],ordered=falsE)
IN: data['coast'].value_counts()
OUT:
0 21450
1 163
name: coast,dtype: int64
IN: sn.factorplot('coast',data=data,kind='count')
OUT:
@H_262_6@
如何在下面显示的条形图上获取值计数。
如何获得如下所示条形图上的百分比值。
对于常规计数,您可以从 sns.countplot@H_262_6@ 和 use the built-in
ax.bar_label@H_262_6@ (requires version 3.4.0+) 保存坐标轴句柄:
ax = sns.countplot(x='coast',data=data)
ax.bar_label(ax.containers[0])
@H_262_6@
或者,如果您仍想使用基于 FaCETGrid 的 sns.factorplot@H_262_6@(现命名为
sns.catplot@H_262_6@),请在使用
ax.bar_label@H_262_6@ 之前从网格中提取轴:
grid = sns.catplot(x='coast',kind='count',data=data)
ax = grid.axes[0,0]
ax.bar_label(ax.containers[0])
@H_262_6@
对于百分比计数,您可以将 sns.barplot@H_262_6@ 与 a custom percentage estimator 结合使用:
ax = sns.barplot(x='coast',y='coast',estimator=lambda x: len(X) / len(data) * 100,data=data)
ax.bar_label(ax.containers[0],fmt='%.f%%')
ax.set_ylabel('%')
@H_262_6@
也许这对你有用:
# imports
import sys # for retreiving package version matplotlib
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# package versions
print('numpy :',np.__version__)
print('pandas :',pd.__version__)
print('matplotlib :',sys.modules['matplotlib'].__version__)
print('seaborn :',np.__version__)
# set seed for reproducibility
np.random.seed(100)
# generate data
n = 15
data = pd.DataFrame({'coast': np.random.randint(low=0,high=2,size=n,dtype=int)})
data['coast'] = data['coast'].astype('category')
# plot data
ax = sns.countplot(x='coast',data=data)
plt.bar_label(ax.containers[0]) # plot bar labels
plt.show()
@H_262_6@
结果:
numpy : 1.21.0
pandas : 1.3.0
matplotlib : 3.4.2
seaborn : 1.21.0
@H_262_6@
以上是大佬教程为你收集整理的如何在分类数据上与 seaborn 聊天时获取标签值全部内容,希望文章能够帮你解决如何在分类数据上与 seaborn 聊天时获取标签值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。