24

I'm trying to plot my data using matplot lib. I have 3 separetes sets of data I want to plot in 3 subplots (I'm using this is my guidence):

plt.figure()

fig, axs = plt.subplots(nrows=3, ncols = 1, sharex=False)
ax1 = axs[0]
ax1.errorbar(X,Y,Err,fmt='o')
ax1.set_xscale('log')
ax1.set_yscale('log')
ax1.set_title('epsilon=1.5, kappa = 2')
plt.show()

However I get the x range from 1 (or 0, I'm not sure) to 100 and I want to reduce it. I tried this, by adding using:

ax1.xlim(0.5,13.5)

But I get an error:

AttributeError: 'AxesSubplot' object has no attribute 'xlim'

How can I change the range then?

2 Answers 2

30

You might want to use Axes.axis(*v, **kwargs):

ax1.axis(xmin=0.5,xmax=13.5)

From the documentation:

Set/Get the axis properties

If len(*v)==0, you can pass in xmin, xmax, ymin, ymax as kwargs selectively to alter just those limits without changing the others.

Sign up to request clarification or add additional context in comments.

Comments

13

The corresponding method of axis object is set_xlim(xmin,xmax).

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.