Messi10forever 2024-05-04 12:36 采纳率: 0%
浏览 73

matplotlib柱状图数据挤在了一起

在做一个2008年奥运会奖牌榜分布图的时候,x轴设置成了国家名字,结果数据都挤在了一起

img

labels=country_name
x=np.arange(len(labels))
y=np.arange(50)
width=2

fig,ax=plt.subplots()
rects1 = ax.bar(x - width/2,mata_gold_medal_list, width, label='金牌')
rects2 = ax.bar(x + width/2,mata_silver_medal_list, width, label='银牌')
rects3 = ax.bar(x - width/2,mata_bronze_medal_list, width, label='铜牌')


ax.set_ylabel('奖牌数量')  # y轴标题
ax.set_title('2008年北京奥运会奖牌榜')  # 图形标题
ax.set_xticks(x, labels)  # 修改x轴刻度值
ax.legend()



ax.bar_label(rects1,padding=3)
ax.bar_label(rects2,padding=3)
ax.bar_label(rects3,padding=3)

mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
fig.tight_layout()
plt.show()

  • 写回答

3条回答 默认 最新

  • GISer Liu 2024-05-04 12:56
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    问题分析:

    1. 你描述的问题是在绘制2008年奥运会奖牌榜分布图时,x轴设置为国家名称后,数据挤在一起了。
    2. 这个问题可能是由于国家名称太长,导致x轴上的标签重叠,使得数据显示不清晰。
      解决方案:
    3. 调整x轴标签的显示方式,可以采用倾斜显示或者交替显示的方式,以避免标签重叠。
    4. 如果国家名称太长,考虑缩短显示或者使用缩写,以减少标签长度。
      下面是代码修改的方案:
      python
      Copy code
      import matplotlib.pyplot as plt
      import numpy as np
      # 假设以下是你的数据和国家名称列表
      country_name = [...]  # 国家名称列表
      mata_gold_medal_list = [...]  # 金牌数列表
      mata_silver_medal_list = [...]  # 银牌数列表
      mata_bronze_medal_list = [...]  # 铜牌数列表
      labels = country_name
      x = np.arange(len(labels))
      y = np.arange(50)
      width = 0.35
      fig, ax = plt.subplots()
      rects1 = ax.bar(x - width, mata_gold_medal_list, width, label='金牌')
      rects2 = ax.bar(x, mata_silver_medal_list, width, label='银牌')  # 调整了x轴位置
      rects3 = ax.bar(x + width, mata_bronze_medal_list, width, label='铜牌')  # 调整了x轴位置
      ax.set_ylabel('奖牌数量')
      ax.set_title('2008年北京奥运会奖牌榜')
      # 修改x轴刻度值,采用倾斜显示
      ax.set_xticks(x)
      ax.set_xticklabels(labels, rotation=45, ha='right')
      ax.legend()
      plt.show()
      
      在代码中,我们修改了设置x轴刻度值的方式,采用了倾斜显示,并通过调整位置来避免标签重叠的问题。

    如果该回答解决了您的问题,请采纳!如果没有,请私信联系或评论您的疑惑

    评论

报告相同问题?

问题事件

  • 创建了问题 5月4日