python - Seaborn histplot 使用奇怪的 y 轴限制?
问题描述
我正在遍历我的 df 的所有列以绘制它们的密度,以查看我是否需要以及如何转换/规范化我的数据。我正在使用 Seaborn 和这段代码:
fig, axes = plt.subplots(nrows=n_rows, ncols=n_cols, figsize=(16,40))
fig.tight_layout() #othwerwise the plots overlapped each other and I couldn't see the column names
for i, column in enumerate(df.columns):
sns.histplot(df[column],ax=axes[i//n_cols,i%n_cols], kde=True, legend=True, fmt='g')
这会产生一个基本正常的图形,但是在某些情况下 y 轴的缩放比例太大了:
城市 3 和 4 还不错,但是,Count
城市 4 的最高值在 200 左右,但地块比例为 y 直到 10 000,这使得数据难以解释。x 轴也超出了应有的位置,因为最高成本约为 1000000,但情节一直持续到 25000000。当我City 4
单独绘制并强制 aylim
为 200 和xlim
1000000 时,我得到了一个更容易理解的情节:
为什么 y 轴(实际上也是 x 轴)缩放得如此奇怪,我怎样才能改变我的代码来缩小它,这样我就不会得到ylim
比实际显示的数据高得多的数据?
谢谢!
解决方案
设置shared_yaxis
为False
。
这将使子图绘制在相应数据的各自最大点处。
例子:
fig, axes = plt.subplots(nrows=n_rows, ncols=n_cols, figsize=(16,40), sharey=False)
推荐阅读
- bash - can I get the object file id for a deleted file with git?
- python-3.x - Why does ResNet models have consecutive BatchNormalization layers?
- javascript - How to make array wait for nested loops to complete before returning
- vue.js - Vuetify align list to right side of parent card
- kubernetes - coredns crashes frequently and application is not responding
- reactjs - 在反应中找到根路径时隐藏组件
- java - uploading a image to the database using springboot , jpa ,thymeleaf
- python - sklearn ColumnTransformer:变压器中的重复列
- hadoop - Hive 将数据从一个分区复制到另一个分区
- mysql - 错误:MySQL 意外关闭。这可能是由于端口阻塞、缺少依赖项、权限不正确、崩溃或关闭