You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修复Matplotlib条形图:轴反转与元素过密问题

解决方案

首先修正核心问题:你没有统计每个科目的出现次数,直接将原始的FAMÍLIA列数据传入条形图,这是导致轴混乱的根本原因。以下是修正后的完整代码:

import pandas as pd
import matplotlib.pyplot as plt

# 导入数据集
ornitologia = pd.read_excel('C:/Users/mjoao/OneDrive/Documentos/Coleção_MNRJ/Ornitologia/ornitologia.xlsx')

# 统计每个科目的出现次数
familias_contagem = ornitologia['FAMÍLIA'].value_counts()

# 调整画布尺寸,给X轴标签足够空间
fig, eixo = plt.subplots(figsize=(12, 6))

# 绘制条形图:X轴为科名,Y轴为出现次数
eixo.bar(familias_contagem.index, familias_contagem.values, width=0.7)

# 设置标题和轴标签
eixo.set_title('Lotes por famílias', fontsize=15, pad=10)
eixo.set_xlabel('Famílias', fontsize=15)
eixo.set_ylabel('Lotes', fontsize=15)

# 旋转X轴标签并调整对齐,避免文字重叠
plt.xticks(rotation=45, ha='right')

# 自动调整布局,防止标签被截断
plt.tight_layout()

plt.show()

关键修改说明:

  • 统计次数:使用value_counts()方法获取每个科目的出现次数,这是正确生成Y轴数据的核心步骤。
  • 画布尺寸:将figsize调整为(12,6),给X轴的科名标签留出足够显示空间。
  • X轴标签处理:通过rotation=45旋转标签,ha='right'让标签右对齐,解决文字拥挤重叠的问题。
  • 布局优化:tight_layout()自动调整图表元素位置,避免轴标签或标题被画布边缘截断。
  • 条形宽度:设置width=0.7,让条形之间保持合理间距,提升可读性。

内容的提问来源于stack exchange,提问作者Nudibranquio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:32:45