[ Web Proxy ]
URL:
Viewing: https://matplotlib.org/gallery/mplot3d/../ticks/tick_labels_from_values.html [Back]  [Original]

Setting tick labels from a list of values — Matplotlib 3.11.2 documentation
Back to top
Search the docs ...:

Setting tick labels from a list of values#

Using Axes.set_xticks causes the tick labels to be set on the currently chosen ticks. However, you may want to allow matplotlib to dynamically choose the number of ticks and their spacing.

In this case it may be better to determine the tick label from the value at the tick. The following example shows how to do this.

NB: The ticker.MaxNLocator is used here to ensure that the tick values take integer values.

import matplotlib.pyplot as plt

from matplotlib.ticker import MaxNLocator

fig, ax = plt.subplots()
xs = range(26)
ys = range(26)
labels = list('abcdefghijklmnopqrstuvwxyz')


def format_fn(tick_val, tick_pos):
    if int(tick_val) in xs:
        return labels[int(tick_val)]
    else:
        return ''


# A FuncFormatter is created automatically.
ax.xaxis.set_major_formatter(format_fn)
ax.xaxis.set_major_locator(MaxNLocator(integer=True))
ax.plot(xs, ys)
plt.show()
tick labels from values [tick labels from values]

Gallery generated by Sphinx-Gallery


Web Proxy Viewer  |  New URL  |  Original Page