如何在条形图上设置x轴刻度间距并调整y轴比例

3
我有以下代码,创建了一个包含各个国家及其对应得分的小数据帧:
import pandas
import numpy 
import matplotlib
import matplotlib.pyplot as plt
df = pandas.DataFrame(data = ["Norway", "Denmark", "Iceland", 
"Switzerland", "Finland", "Netherlands", "Canada", "New Zealand", 
"Sweden", "Australia"], columns = ["Countries"])
df["Score"] = [7.6, 7.55, 7.50, 7.45, 7.40, 7.35, 7.30, 7.25, 7.20, 
7.15]

然后我使用matplotlib创建条形图:

bars = df['Countries']
height = df['Score']
plt.bar(bars, height, align = "center", alpha = 0.5)
plt.ylabel('Happiness Score')
plt.title('Happiness by Country')
plt.show

我不确定如何完成以下两件事: 1)使x轴上的国家名称错开,以免相互交叉 2)不同比例缩放y轴,以使所有分数看起来不那么接近


1
使用 plt.ylim(7,8) 来调整缩放。 - Rocky Li
1
@RockyLi:非常好的建议。为了完整起见,我已经将您的建议添加到以下答案中。 - Sheldore
1个回答

3
您可以通过旋转标签,使它们以您喜欢的角度进行旋转,以避免重叠。另一种方法是为条形图使用广泛间隔的x位置。然而,由于国家名称长短不一,我不建议这样做。
编辑:为了完整起见,我添加了Rocky Li关于y轴缩放的建议。
plt.xticks(rotation=45)
plt.ylim(7, 8)

enter image description here


完美适用于x轴,Rocky Li回答了Y缩放部分。 - Steel
@Steel:我明白了。很高兴能帮忙。 - Sheldore

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接