matplotlib.pyplot.stem()函数
Matplotlib是Python中一个用于2D数组绘图的可视化库。Matplotlib是一个基于NumPy数组构建的多平台数据可视化库,用于更广泛的SciPy堆栈。
matplotlib.pyplot.stem()
matplotlib.pyplot.stem()创建stem图。Stem图绘制从基线到y的每一个x位置的垂直线,并在那里放置一个标记。
语法:
stem([x, ] y, linefmt=None, markerfmt=None, basefmt=None)
参数:
- x(类似数组,可选):茎的x位置。缺省值:(0,1,…,len(y) – 1)。
- y(类似数组):茎头的y值。
- linefmt (str,可选):定义竖线属性的字符串。通常,这将是一个颜色或一个颜色和线条样式:
- ‘-‘: 实线
- ‘–‘: 虚线
- ”-.’: dash-dot线
- ‘:’ 虚线
注意:虽然在技术上可以指定除颜色或颜色和线型之外的有效格式(e.g。’ rx ‘或’ -. ‘),这超出了该方法的本意,很可能不会产生合理的绘图结果。
* markerfmt (str,可选):一个字符串,定义茎头标记的属性。默认值:‘C0o’,我# @e。用颜色循环的第一种颜色填充圆圈。
* basefmt (str,可选):定义基线属性的格式字符串。
* Default:’ C3- ‘(经典模式为’ C2- ‘)。
* bottom (float,可选,默认:0):基线的y位置。
* label (str,可选,默认:None):图例中茎的标签。
* use_line_collection(bool,,:False):,,,,。这将显著提高性能,并将成为Matplotlib 3.3中的默认选项。如果为False,则默认使用Line2D对象列表的旧行为。返回:
container : StemContainer
容器可以像元组一样处理(markerline, stemlines, baseline)
示例1
Stem绘制从基线到y坐标的垂直线,并在尖端放置标记。
# importing libraries
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 2 * np.pi, 41)
y = np.exp(np.sin(x))
plt.stem(x, y, use_line_collection = True)
plt.show()
输出 :
示例2
基线的位置可以使用底部来调整。参数linefmt、markerfmt和basefmt控制绘图的基本格式属性。然而,与plot相反,并不是所有属性都可以通过关键字参数进行配置。对于更高级的控制,可以使用pyplot返回的line对象。
# importing libraries
import random
import matplotlib.pyplot as plt
x = np.linspace(0.1, 2 * np.pi, 41)
y = np.exp(np.sin(x))
markerline, stemlines, baseline = plt.stem(
x, y, linefmt ='grey', markerfmt ='D',
bottom = 1.1, use_line_collection = True)
markerline.set_markerfacecolor('none')
plt.show()
输出: