茎趺图的效果如下:
棉棒图主要用来显示一个包含正负的数据集,如在地震勘探中表示地层间反射系数

stem函数的定义如下
语法:stem([x, ] y, linefmt=None, markerfmt=None, basefmt=None)
- x(类数组,可选):词干的 x 位置。默认值:(0, 1, ..., len(y) – 1)。
- y(类数组):词干头部的 y 值。
- linefmt (str, optional): 定义垂直线属性的字符串。通常,这将是一种颜色或一种颜色和一种线条样式:
- ‘-’:实线
- ‘-’:虚线
- ‘-.’:点划线
- ‘:’虚线
- 注意:虽然在技术上可以指定除颜色或颜色和线条样式以外的有效格式(例如“rx”或“-.”),但这超出了方法的意图,很可能不会产生合理的情节。
- markerfmt(str,可选):定义词干头部标记属性的字符串。默认值:‘C0o’,即用颜色循环的第一种颜色填充圆圈。
- basefmt(str,可选):定义基线属性的格式字符串。默认值:'C3-'(经典模式下为'C2-')。
- bottom(浮点型,可选,默认值:0):基线的 y 位置。
- label(str,可选,默认值:None):用于图例中的词干的标签。
- use_line_collection(bool,可选,默认值:False):如果为 True,则将茎线存储并绘制为 LineCollection 而不是单独的线。这显着提高了性能,并将成为 Matplotlib 3.3 中的默认选项。如果为 False,则默认为使用 Line2D 对象列表的旧行为。
返回:
容器:StemContainer
可以将容器视为元组(标记线、主干线、基线)
最简单的例子
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('_mpl-gallery')
# make data
np.random.seed(3)
x = 0.5 + np.arange(8)
y = np.random.uniform(2, 7, len(x))
# plot
fig, ax = plt.subplots()
ax.stem(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
plt.show()
运行的效果图如下,为什么叫茎叶呢,看这些线科的样式其实就是类似一个个植物 的生长曲线。

代码讲解
import matplotlib.pyplot as plt
import numpy as np
import的意思是从其他的功能模块中引用自己需要的功能模块 as的目的是给这个模块取一个别名。
np.random.seed(n)函数用于生成指定随机数。
- 把seed()中的参数比喻成“堆”;eg. seed(5):表示第5堆种子
- seed()中的参数被设置了之后, np.random.seed()可以按顺序产生 一组固定的数组,
- 如果 使用相同的seed()值 ,则每次生成的随机数都 相同 。
- 如果 不设置这个值 ,那么 每次生成的随机数不同 。
- 但是,只在调用的时候seed()一下并不能使生成的随机数相同,需要每次调用都seed()一下,表示种子相同,从而生成的随机数相同。
每次生成不同的随机数 np.random.rando()函数
L1 = np.random.randn(3, 3) 生成一个3行3列的二维数组

生成相同的随机数据,只需要把上面的代码改造一下,
每次先调用seed然后再调用 random函数就生成相同的随机数据
import numpy as np
np.random.seed(1)
L1 = np.random.randn(3, 3)
np.random.seed(1)
L2 = np.random.randn(3, 3)
print(L1)
print(L2)

函数: numpy.random.uniform(low,high,size) 从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.

x = 0.5 + np.arange(8)
y = np.random.uniform(2, 7, len(x))
实际上y值的个数与x个数相同 len(x) xx 这个数组的数组
最后画茎图(棒棒图)就比较 笑意了
ax.stem(x, y)
ax.set(xlim=(0, 8), xticks=np.arange(1, 8),
ylim=(0, 8), yticks=np.arange(1, 8))
传入x,y这两个数组就生成了相应 的效果,y的本质 是图的hieght