Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set xlim and ylim for a subplot in matplotlib [duplicate]

People also ask

How do you set YLIM in subplots?

ylim() to get the ylim of the plot on an axis. @dashesy You use set_xlim and set_ylim . plt has many fewer options than working directly with the axes object. In fact, almost every function in plt is a very thin wrapper that first calls ax = plt.

How do I change YLIM to XLIM in Python?

To set the lower axis limit, we use xlim() and ylim() function and pass the left and bottom parameter respectively. To plot the graph, use plot() function. To set the labels at the axes, use xlabel() and ylabel() function.

What is XLIM and YLIM in Matplotlib?

xlim() and ylim() to Set Limits of Axes in Matplotlib xlim() and matplotlib. pyplot. ylim() can be used to set or get limits for X-axis and Y-axis respectively. If we pass arguments in these methods, they set the limits for respective axes and if we do not pass any arguments, we get a range of the respective axes.


You should use the OO interface to matplotlib, rather than the state machine interface. Almost all of the plt.* function are thin wrappers that basically do gca().*.

plt.subplot returns an axes object. Once you have a reference to the axes object you can plot directly to it, change its limits, etc.

import matplotlib.pyplot as plt

ax1 = plt.subplot(131)
ax1.scatter([1, 2], [3, 4])
ax1.set_xlim([0, 5])
ax1.set_ylim([0, 5])


ax2 = plt.subplot(132)
ax2.scatter([1, 2],[3, 4])
ax2.set_xlim([0, 5])
ax2.set_ylim([0, 5])

and so on for as many axes as you want.

or better, wrap it all up in a loop:

import matplotlib.pyplot as plt

DATA_x = ([1, 2],
          [2, 3],
          [3, 4])

DATA_y = DATA_x[::-1]

XLIMS = [[0, 10]] * 3
YLIMS = [[0, 10]] * 3

for j, (x, y, xlim, ylim) in enumerate(zip(DATA_x, DATA_y, XLIMS, YLIMS)):
    ax = plt.subplot(1, 3, j + 1)
    ax.scatter(x, y)
    ax.set_xlim(xlim)
    ax.set_ylim(ylim)