在Python中使用NumPy计算一组数据的柱状图

  • Post category:Python

要在Python中使用NumPy计算一组数据的柱状图,可以按照以下步骤完成:

步骤1:安装NumPy和Matplotlib

在命令行中输入以下命令可以使用pip安装NumPy和Matplotlib:

pip install numpy
pip install matplotlib

步骤2:生成数据

使用NumPy生成一组随机数据,例如:

import numpy as np

x = np.array(["A", "B", "C", "D", "E"])
y = np.random.rand(5)

这里生成了一组包含5个元素的数组x,每个元素是一个字母,用来表示横坐标;同时也生成了一组包含5个元素的数组y,每个元素是一个0到1之间的随机数,用来表示纵坐标。

步骤3:绘制柱状图

使用Matplotlib绘制柱状图,可以使用以下代码:

import matplotlib.pyplot as plt

plt.bar(x, y)
plt.show()

这里使用plt.bar()函数绘制柱状图,第一个参数是横坐标,第二个参数是纵坐标,然后使用plt.show()函数展示图形。

运行以上代码,就可以得到一张包含5个柱子的柱状图了。

下面给出一个完整的示例程序:

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
x = np.array(["A", "B", "C", "D", "E"])
y = np.random.rand(5)

# 绘制柱状图
plt.bar(x, y)
plt.show()

运行程序后,就可以在屏幕上看到生成的柱状图了。

另外一个示例程序是绘制堆叠柱状图,代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 生成数据
x = np.array(["A", "B", "C", "D", "E"])
y1 = np.random.rand(5)
y2 = np.random.rand(5)

# 绘制堆叠柱状图
plt.bar(x, y1, label="Group 1", color="b")
plt.bar(x, y2, bottom=y1, label="Group 2", color="r")
plt.legend()
plt.show()

这里生成了两组随机数据,使用plt.bar()函数分别绘制了两组柱子,其中第二组柱子的bottom选项指定了它的底部位置(即它的顶部坐标就是第一组柱子的高度+y2的值),使用plt.legend()函数可以生成图例方便查看。

运行以上代码,就可以得到一张堆叠柱状图了。