用Python生成一维条形图

横坐标是物品,纵坐标是数量,如何调纵坐标数字的大小已经两数之间的间隔。

要生成一维条形图,可以使用Python的Matplotlib库。

首先需要导入Matplotlib库和NumPy库:

import matplotlib.pyplot as plt
import numpy as np

接着,可以定义横坐标和纵坐标的数据:

items = ['item1', 'item2', 'item3']  # 横坐标物品
quantities = [10, 24, 16]  # 纵坐标数量

然后,创建一个图形对象并设置图形大小:

fig = plt.figure(figsize=(8, 6))

接下来,创建一个Axes对象(坐标轴对象),在它上面设置条形图的属性并画出条形图:

ax = fig.add_subplot(111)
ax.bar(items, quantities, color='green', width=0.4)

最后,可以设置纵坐标数字的大小(size)以及两数之间的间隔(tick_interval):

ax.tick_params(axis='y', labelsize=10)
ax.yaxis.set_major_locator(plt.MultipleLocator(tick_interval))

完整代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 定义横坐标和纵坐标
items = ['item1', 'item2', 'item3']
quantities = [10, 24, 16]

# 创建图形对象
fig = plt.figure(figsize=(8, 6))

# 创建坐标轴对象并画出条形图
ax = fig.add_subplot(111)
ax.bar(items, quantities, color='green', width=0.4)

# 设置纵坐标数字的大小和间隔
ax.tick_params(axis='y', labelsize=10)
tick_interval = 2
ax.yaxis.set_major_locator(plt.MultipleLocator(tick_interval))

# 显示图形
plt.show()

执行结果会显示一个条形图,纵坐标数字的大小为10,两数之间的间隔为2。可以根据需要调整数字大小和间隔大小。

import matplotlib.pyplot as plt

# 数据
items = ['A', 'B', 'C', 'D', 'E']
quantities = [10, 20, 15, 5, 8]

# 绘制条形图
plt.bar(items, quantities)

# 调整纵坐标数字的大小
plt.tick_params(axis='y', labelsize=12)

# 调整纵坐标两数之间的间隔
plt.tight_layout()

# 显示图形
plt.show()