Object definitions for graphing and plotting
Graph object subclasses primitive, abstract fundamental
graphing archetypes using the matplotlib library. The
object subclasses provide reusable approaches to graphing data and structures in
The most common way of using plotting functions is to call .plot() on a Stream.
- music21.graph.plotStream(streamObj, graphFormat=None, xValue=None, yValue=None, zValue=None, **keywords)¶
Given a stream and any keyword configuration arguments, create and display a plot.
Note: plots require matplotlib to be installed.
Plot methods can be specified as additional arguments or by keyword. Two keyword arguments can be given: format and values. If positional arguments are given, the first is taken as format and the rest are collected as values. If format is the class name, that class is collected. Additionally, every
PlotStreamsubclass defines one format string and a list of values strings. The format parameter defines the type of Graph (e.g. scatter, histogram, colorGrid). The values list defines what values are graphed (e.g. quarterLength, pitch, pitchClass).
If a user provides a format and one or more values strings, a plot with the corresponding profile, if found, will be generated. If not, the first Plot to match any of the defined specifiers will be created.
In the case of
identifierslist is added to the Plot’s values list.
Available plots include the following:
>>> s = corpus.parse('bach/bwv57.8') >>> thePlot = s.plot('histogram', 'pitch')
>>> s = corpus.parse('bach/bwv57.8') >>> thePlot = s.plot('pianoroll')