1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
"""
=================================
Automatically setting tick labels
=================================
Setting the behavior of tick auto-placement.
If you don't explicitly set tick positions / labels, Matplotlib will attempt
to choose them both automatically based on the displayed data and its limits.
By default, this attempts to choose tick positions that are distributed
along the axis:
"""
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
fig, ax = plt.subplots()
dots = np.arange(10) / 100. + .03
x, y = np.meshgrid(dots, dots)
data = [x.ravel(), y.ravel()]
ax.scatter(*data, c=data[1])
###############################################################################
# Sometimes choosing evenly-distributed ticks results in strange tick numbers.
# If you'd like Matplotlib to keep ticks located at round numbers, you can
# change this behavior with the following rcParams value:
print(plt.rcParams['axes.autolimit_mode'])
# Now change this value and see the results
with plt.rc_context({'axes.autolimit_mode': 'round_numbers'}):
fig, ax = plt.subplots()
ax.scatter(*data, c=data[1])
###############################################################################
# You can also alter the margins of the axes around the data by
# with ``axes.(x,y)margin``:
with plt.rc_context({'axes.autolimit_mode': 'round_numbers',
'axes.xmargin': .8,
'axes.ymargin': .8}):
fig, ax = plt.subplots()
ax.scatter(*data, c=data[1])
plt.show()
|