python - matplotlib - How to specify the scale for x axis

16,442

You need matplotlib.pyplot.xticks. In your example:

xticks(x_values)

Prepend the function call with the module name, depending on your imports.

For instance, in ipython --pylab I enter:

In [1]: x_values = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]

In [2]: scatter(x_values, x_values)
Out[2]: <matplotlib.collections.PathCollection at 0x39686d0>

In [3]: xticks(x_values)

and get

enter image description here

Note that this leaves some space at the right, because initially the ticks were up to 120 at every 20. To have it at every 10 without knowing the maximum, you can make two calls to xticks:

xticks(range(0, int(xticks()[0][-1])+1, 10))
Share:
16,442
Parth
Author by

Parth

Computer Engineer

Updated on June 18, 2022

Comments

  • Parth
    Parth almost 2 years

    Possible Duplicate:
    Python, Matplotlib, subplot: How to set the axis range?

    I would like to specify the scale of the x-axis for my scatter plot similar to excel.

    For example, I feed in the x axis values as follows:

    x_values = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
    

    However, only the numbers with an even 1st digit appear.

    Is there a way to make it such that all numbers appear on the x-axis?

    Thanks,

    Parth