Matplotlib.pyplot.stem() in Python
Last Updated : 21 Apr, 2020
Improve
Matplotlib is a visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.Python3 Output :
Example #2: The position of the baseline can be adapted using bottom. The parameters linefmt, markerfmt, and basefmt control basic format properties of the plot. However, in contrast to Python Output: 
matplotlib.pyplot.stem()
matplotlib.pyplot.stem()
creates stem plots. A Stem plot
plots vertical lines at each x position covered under the graph from the baseline to y, and places a marker there.Syntax: stem([x, ] y, linefmt=None, markerfmt=None, basefmt=None) Parameters:Example #1: Default plot Stem plots vertical lines from a baseline to the y-coordinate and places a marker at the tip.Returns :
- x (array-like, optional): The x-positions of the stems. Default: (0, 1, ..., len(y) - 1).
- y (array-like): The y-values of the stem heads.
- linefmt (str, optional): A string defining the properties of the vertical lines. Usually, this will be a color or a color and a linestyle:
Note: While it is technically possible to specify valid formats other than color or color and linestyle (e.g. 'rx' or '-.'), this is beyond the intention of the method and will most likely not result in a reasonable plot.
- '-': solid line
- '--': dashed line
- '-.': dash-dot line
- ':' dotted line
- markerfmt (str, optional): A string defining the properties of the markers at the stem heads. Default: 'C0o', i.e. filled circles with the first color of the color cycle.
- basefmt (str, optional): A format string defining the properties of the baseline. Default: 'C3-' ('C2-' in classic mode).
- bottom (float, optional, default: 0): The y-position of the baseline.
- label (str, optional, default: None): The label to use for the stems in legends.
- use_line_collection (bool, optional, default: False): If True, store and plot the stem lines as a LineCollection instead of individual lines. This significantly increases performance, and will become the default option in Matplotlib 3.3. If False, defaults to the old behavior of using a list of Line2D objects.
- container:
StemContainer
The container may be treated like a tuple (markerline, stemlines, baseline)
# 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()

plot
not all properties are configurable via keyword arguments. For more advanced control adapt the line objects returned by pyplot
.# 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()
