在matplotlib的barh函数中,可以使用参数gap
来创建视觉间隙,这可以通过在每组条之间绘制一个空白的条来实现。gap
参数控制了两组条之间的间隔宽度。
下面是一个例子,展示了如何在两组条之间创建视觉间隙:
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
categories = ['A', 'B', 'C', 'D']
group1_values = [10, 15, 7, 12]
group2_values = [8, 11, 9, 6]
# 计算每组条的位置
bar_width = 0.35
bar_positions1 = np.arange(len(categories))
bar_positions2 = bar_positions1 + bar_width + 0.1 # 增加0.1的间隔
# 创建图表对象
fig, ax = plt.subplots()
# 绘制两组条
ax.barh(bar_positions1, group1_values, height=bar_width, label='Group 1')
ax.barh(bar_positions2, group2_values, height=bar_width, label='Group 2')
# 设置刻度和标签
ax.set_yticks(bar_positions1 + bar_width / 2)
ax.set_yticklabels(categories)
ax.invert_yaxis() # 反转y轴,使顶部为第一个条
# 添加图例
ax.legend()
# 显示图表
plt.show()
在上述例子中,我们首先生成了两组条的示例数据。然后,通过bar_positions1
和bar_positions2
计算了每组条的位置,其中bar_width
表示条的宽度。
接下来,通过调用ax.barh
函数来绘制两组条。height
参数指定了条的高度,label
参数设置了每组条的标签。
我们还通过ax.set_yticks
和ax.set_yticklabels
来设置y轴的刻度和标签,并使用ax.invert_yaxis()
函数来反转y轴的顺序,使顶部为第一个条。
最后,通过调用ax.legend()
添加图例,使用plt.show()
显示图表。
这是一个使用matplotlib的barh函数在两组条之间创建视觉间隙的例子。对于更详细的barh函数的说明和用法,请参考matplotlib官方文档。
领取专属 10元无门槛券
手把手带您无忧上云