You are reading an old version of the documentation (v2.2.3). For the latest version see
Version 2.2.3
Fork me on GitHub

Table Of Contents


matplotlib.pyplot.plot_date(x, y, fmt='o', tz=None, xdate=True, ydate=False, hold=None, data=None, **kwargs)[source]

Plot data that contains dates.

Similar to plot, this plots y vs. x as lines or markers. However, the axis labels are formatted as dates depending on xdate and ydate.

x, y : array-like

The coordinates of the data points. If xdate or ydate is True, the respective values x or y are interpreted as Matplotlib dates.

fmt : str, optional

The plot format string. For details, see the corresponding parameter in plot.

tz : [ None | timezone string | tzinfo instance]

The time zone to use in labeling dates. If None, defaults to rcParam timezone.

xdate : bool, optional, default: True

If True, the x-axis will be interpreted as Matplotlib dates.

ydate : bool, optional, default: False

If True, the y-axis will be interpreted as Matplotlib dates.


A list of Line2D objects representing the plotted data.

Other Parameters:

Keyword arguments control the Line2D properties:

Property Description
agg_filter a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha float (0.0 transparent through 1.0 opaque)
animated bool
antialiased or aa bool
clip_box a Bbox instance
clip_on bool
clip_path [(Path, Transform) | Patch | None]
color or c any matplotlib color
contains a callable function
dash_capstyle ['butt' | 'round' | 'projecting']
dash_joinstyle ['miter' | 'round' | 'bevel']
dashes sequence of on/off ink in points
drawstyle ['default' | 'steps' | 'steps-pre' | 'steps-mid' | 'steps-post']
figure a Figure instance
fillstyle ['full' | 'left' | 'right' | 'bottom' | 'top' | 'none']
gid an id string
label object
linestyle or ls ['solid' | 'dashed', 'dashdot', 'dotted' | (offset, on-off-dash-seq) | '-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth or lw float value in points
marker A valid marker style
markeredgecolor or mec any matplotlib color
markeredgewidth or mew float value in points
markerfacecolor or mfc any matplotlib color
markerfacecoloralt or mfcalt any matplotlib color
markersize or ms float
markevery [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
path_effects AbstractPathEffect
picker float distance in points or callable pick function fn(artist, event)
pickradius float distance in points
rasterized bool or None
sketch_params (scale: float, length: float, randomness: float)
snap bool or None
solid_capstyle ['butt' | 'round' | 'projecting']
solid_joinstyle ['miter' | 'round' | 'bevel']
transform a matplotlib.transforms.Transform instance
url a url string
visible bool
xdata 1D array
ydata 1D array
zorder float

See also

Helper functions on dates.
Convert dates to num.
Convert num to dates.
Create an equally spaced sequence of dates.


If you are using custom date tickers and formatters, it may be necessary to set the formatters/locators after the call to plot_date. plot_date will set the default tick locator to AutoDateLocator (if the tick locator is not already set to a DateLocator instance) and the default tick formatter to AutoDateFormatter (if the tick formatter is not already set to a DateFormatter instance).


In addition to the above described arguments, this function can take a data keyword argument. If such a data argument is given, the following arguments are replaced by data[<arg>]:

  • All arguments with the following names: 'x', 'y'.

Examples using matplotlib.pyplot.plot_date