如何设置seaborn绘图的格式

2024-06-01 05:52:18 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码生成两个并排的绘图。但是,我想将右图向右推,使其标签显示为与左图分离。我怎么做?我在subplotscountplot中都找不到任何选项

代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
data = {
    'apples': [3, 2, 0, np.nan, 2],
    'oranges': [0, 7, 7, 2, 7],
    'figs':[1, np.nan, 10, np.nan, 10]
}
purchases = pd.DataFrame(data)
fig, ax =plt.subplots(1,2)

sns.countplot(purchases['apples'], ax=ax[0])
sns.countplot(purchases['oranges'], ax=ax[1])
show()

Tags: importdataasnppltnanax代码生成
2条回答

一个选项是tight_layout

fig, ax =plt.subplots(1,2)

sns.countplot(purchases['apples'], ax=ax[0])
sns.countplot(purchases['oranges'], ax=ax[1])
plt.tight_layout()

输出:

enter image description here

<> P>为了使你的数据与SeBRAN很好地匹配,考虑将DATAFAFRM更改为“长”格式,并用^ {A1}:

绘制所有类别及其对应的计数。
data = purchases.stack().droplevel(0).reset_index()
data.columns = ['fruit', 'number']
print(data.head(5))

# output:
#      fruit  number
# 0   apples     3.0
# 1  oranges     0.0
# 2     figs     1.0
# 3   apples     2.0
# 4  oranges     7.0

sns.catplot(data=data, x='number', kind='count', col='fruit') 
plt.show()

输出:

enter image description here

相关问题 更多 >