python - Seaborn x 轴未涵盖所有数据

标签 python python-3.x seaborn

当我根据 Seaborn website 上的示例使用提示数据集制作 Seaborn 箱线图时x 轴覆盖箱线图的长度。

import seaborn as sns
sns.set_style("ticks")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x=tips["total_bill"])

Seaborn boxplot

但是如果我更改数据集并执行相同的操作,x 轴甚至不会覆盖上四分位数。为什么默认值不扩展到覆盖所有数据,我该如何解决这个问题?我希望它从最低数据点以下到最高数据点以上。

my_df = pd.DataFrame({'total_bill' : [3082, 2024, 3333, 1544, 1861]})
sns.set_style("ticks")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x=my_df["total_bill"])
sns.despine(trim=True)

boxplot two

最佳答案

您通过在代码中放置 sns.despine(trim=True) 明确要求 seaborn 切割 x 轴。您可以忽略它以获得完整的轴

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

my_df = pd.DataFrame({'total_bill' : [3082, 2024, 3333, 1544, 1861]})
tips = sns.load_dataset("tips")
ax = sns.boxplot(x=my_df["total_bill"])

plt.show()

enter image description here

如果你想去掉刺,你仍然可以添加

sns.despine(left=True)

enter image description here

您可以根据自己的喜好手动设置刻度位置。在最简单的情况下,您使用已经存在的刻度位置,并将它们固定到轴上

ax.set_xticks(ax.get_xticks())

enter image description here

关于python - Seaborn x 轴未涵盖所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50848579/

相关文章:

python - 子图的子图 Matplotlib/Seaborn

python - 由于 gcc 错误,无法使用 pip 安装 sasl

python - 如何在配置文件中存储格式化字符串?

python-3.x - Plot_confusioin_matrix 图不显示整数值,而是显示一些指数值

git - 将加密的 csv 导入 Python 3

python - python3 flask 应用程序中的 pymongo 导入错误

python - 跨越移动范围的山脊线/Joyplot

python - 如何将每小时的第一行从 Pandas 数据框提取到新数据框

python - 在 Python 中导入 sklearn 时出现导入错误

python - 如果 db 文件不存在,如何使 sqlite3.connect() 失败?