19

I'm producing a graph in matplotlib and I would like to set the x-axis between 0-10000 but I do not want to change the y axis I want the graph to do that on it's own. Right now both axis are automatically generated.

Here's an example:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
plt.axis([0, 6, 0, 20]) 

The axis command cannot help me because I would have to set the y value as well. Also for some reason xlim doesn't work it say's it has no argument xlim.

Any suggestions appreciated thanks

agamesh
  • 559
  • 1
  • 10
  • 26
Sam Creamer
  • 5,187
  • 13
  • 34
  • 49
  • I use something like this: axis = fig.add_subplot(111, autoscale_on=False,xlim=(1,flen),ylim=(0,1). where flen is a amount that changes, and where the y axis is just from 0-1, but it sounds like you want to do it vise versa. – Jim Aug 11 '11 at 18:21

1 Answers1

25

This seems to work fine for me:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4], [1,4,9,16], 'ro')
# print plt.xlim()
plt.xlim(0, 10000)
# or 
# plt.xlim(xmin=0, xmax=10000)
Marty
  • 7,920
  • 1
  • 20
  • 10
  • I keep finding answers that say you need to use `plt.axis([xmin,xmax, ymin,ymax])` but so few people mention the possibility of only restricting **ONE** axis. +1 for this answer. – Joeytje50 Jan 13 '16 at 16:45