WF3*_*F30 5 python numpy matplotlib pandas 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:
Run Code Online (Sandbox Code Playgroud)
sns.barplot与自定义百分比估算器一起使用ax.bar_label使用新的内置函数及其fmt参数标记百分比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('%')
Run Code Online (Sandbox Code Playgroud)
保存轴句柄sns.countplot并使用新的ax.bar_label:
ax = sns.countplot(x='coast', data=data)
ax.bar_label(ax.containers[0])
Run Code Online (Sandbox Code Playgroud)
或者对于基于面的sns.catplot(以前的sns.factorplot),在使用之前从面网格中提取轴ax.bar_label:
grid = sns.catplot(x='coast', kind='count', data=data)
ax = grid.axes[0, 0]
ax.bar_label(ax.containers[0])
Run Code Online (Sandbox Code Playgroud)
也许这对你有用:
# 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()
Run Code Online (Sandbox Code Playgroud)
结果:
numpy : 1.21.0
pandas : 1.3.0
matplotlib : 3.4.2
seaborn : 1.21.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12067 次 |
| 最近记录: |