📅  最后修改于: 2023-12-03 15:34:22.411000             🧑  作者: Mango
Matplotlib是一个非常强大的Python数据可视化库,可以用来画方程、图像、二维图表、三维图标、动画等等。其中,broken_barh()
是Matplotlib中一种特殊的条形图形式,可以用来绘制横向的不定长度的矩形条。
Axes.broken_barh()
函数主要用于绘制横向的矩形条图。它的参数如下:
Axes.broken_barh(
xranges,
yrange,
**kwargs,
)
xranges
参数为一个由元组组成的序列,每个元组有两个数表示矩形条的左右端点,比如[(10, 50), (100, 200)]
表示画两个长度为40和100的矩形条。
yrange
参数是一个由两个数字组成的序列,表示矩形条的垂直位置,通常用于分组绘制。比如[1, 2]
表示画在y轴上第1个和第2个位置处。
这个函数还支持其他参数,比如facecolors
、edgecolor
、linewidths
、hatch
等。
下面是一段实现基本broken_barh()
函数使用的例子:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
xranges = [(10, 20), (30, 50), (100, 130)]
yrange = [1, 2, 3]
ax.broken_barh(xranges, yrange, facecolors='blue')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_yticks([1, 2, 3])
ax.set_yticklabels(['A', 'B', 'C'])
plt.show()
运行这段程序,就可以得到三个紧挨着的蓝色矩形条,它们分别画在y轴上的第1、2、3个位置处。
xranges
xranges
参数控制绘图的矩形条数目、位置和大小。比如,以下代码绘制了三个矩形条,它们的左右端点的x坐标分别为10和50、30和50、100和130:
xranges = [(10, 50), (30, 50), (100, 130)]
如果绘制的矩形条有重叠的情况,它们就会相互覆盖。如果xranges
参数中的元组有相同的的左右端点,那么它们会被视作同一个矩形条。
yrange
yrange
参数控制绘图的矩形条的垂直位置,通常用于分组绘制。比如,以下代码将绘制三个矩形条,它们分别画在y轴上的位置A、B、C处:
yrange = [1, 2, 3]
如果你不想在y轴上显示坐标轴文本,可以将ax.set_yticks([])
。
facecolors
:矩形条的填充颜色。默认为蓝色。
edgecolor
:矩形条边框线的颜色。默认为黑色。
linewidths
:矩形条边框线的宽度。默认为1。
hatch
:一个字符串,表示图形中的填充图案。
alpha
:一个浮点数,指定矩形条的透明度。
Axes.broken_barh()
函数是Matplotlib中用于绘制横向矩形条图的一个高效的工具,通过设置详细的参数可以让你绘制出不同风格的图形。建议在开发中尽可能多地使用Matplotlib库的强大功能,以提高工作效率,让操作变得更加简便。