如果我们想要展示某些数据,柱状图是一个常用的作图方式。在Python的matplotlib库中,plt.bar()是一个非常方便的函数,可以快速绘制柱状图。在本文中,我们将对plt.bar()进行各个方面的详细讲解。
一、plt.barh()
plt.barh()是plt.bar()的水平版,它可以绘制横向的柱状图。它的用法与plt.bar()类似,只是将x变量替换为y变量,将width变量替换为height变量:
import matplotlib.pyplot as plt
import numpy as np
x = ["A", "B", "C", "D", "E"]
y = [20, 35, 30, 25, 15]
plt.barh(y=y, width=x, height=0.5)
plt.show()
在这个例子中,我们使用了一个包含5个元素的列表x作为宽度(width),另一个包含5个元素的列表y作为高度(height)。我们将列表x赋值给y,将列表y赋值给height,这样就可以实现横向的柱状图。代码执行后,将会展示以下图像:
二、plt.bar()的用法
1.绘制基本柱状图
使用plt.bar()绘制基本的柱状图非常简单,只需要传入x和height两个参数即可。例如,我们想要绘制一个长为5的柱状图,其高度分别为20、35、30、25和15,可以这样实现:
import matplotlib.pyplot as plt
import numpy as np
x = [1, 2, 3, 4, 5]
heights = [20, 35, 30, 25, 15]
plt.bar(x=x, height=heights)
plt.show()
执行这段代码后,将会绘制如下图像:
2.设置柱状图颜色和边框
对于柱状图,我们通常需要对其颜色进行调整。使用plt.bar()函数也可以非常方便地实现这一功能。我们可以通过color参数来设置柱状图的颜色,通过edgecolor参数来设置柱状图的边框颜色。例如,我们可以绘制一组红色的柱状图,并将边框颜色设置为黑色:
import matplotlib.pyplot as plt
import numpy as np
x = ["A", "B", "C", "D", "E"]
heights = [20, 35, 30, 25, 15]
plt.bar(x=x, height=heights, color="red", edgecolor="black")
plt.show()
执行这段代码后,将会绘制如下图像:
3.设置柱状图宽度
有时候,我们可能需要调整柱状图的宽度。使用plt.bar()函数,我们可以通过设置width参数来实现这个功能。例如,如果我们想要绘制一组宽度为0.4的水平柱状图,可以这样实现:
import matplotlib.pyplot as plt
import numpy as np
x = ["A", "B", "C", "D", "E"]
heights = [20, 35, 30, 25, 15]
plt.bar(x=x, height=heights, width=0.4)
plt.show()
执行这段代码后,将会绘制如下图像:
4.设置柱状图的标签
在柱状图中,我们通常希望为每一个柱子添加一个标签,例如柱子的名称或其高度值。使用plt.bar()函数,我们可以通过在循环中对每一个柱子添加一个文本标签来实现这个功能。例如,如果我们想要为每一根柱子添加一个高度标签,可以这样实现:
import matplotlib.pyplot as plt
import numpy as np
x = ["A", "B", "C", "D", "E"]
heights = [20, 35, 30, 25, 15]
plt.bar(x=x, height=heights, width=0.4)
for i in range(len(x)):
plt.text(x=i, y=heights[i]+1, s=heights[i])
plt.show()
执行这段代码后,将会绘制如下图像:
三、总结
在本文中,我们对plt.bar()函数进行了详细的阐述,介绍了plt.barh()、颜色设置、宽度设置和标签设置等内容。通过掌握这些知识,我们可以轻松地绘制出漂亮的柱状图。