#### Question :

I am not able to specify values on my x axis, using matplotlib.pyplot.

In some images, `chart.xticks(years)`

solves the problem, but it seems that when the x-axis value set is too small, it uses default values [0,1,2, …, N]

Acasethatdoesnotwork:

My code so far:

```
import matplotlib.pyplot as chart
from matplotlib import lines
# Settings
chart.title(file_name)
chart.xlabel('Years')
chart.ylabel('Committers/Contributions')
chart.ylim([0,highest_value + 100])
chart.xlim(first_year,2017)
# Values
committer_line = chart.plot(committers_dict.keys(),committers_dict.values(),'r',label='Committer')
contribution_line = chart.plot(contributions_dict.keys(),contributions_dict.values(),'b--',label='Contribution')
years = list(range(first_year,2017))
chart.xticks(years)
# Legend
chart.legend()
# Show/Save
chart.savefig(images_path + file_name.replace('.txt','-commiter-contribution.eps'), format='eps')
chart.show()
```

#### Answer :

The matplotlib values are correct simply in scientific notation. It is possible to turn off scientific notation but may give rise to other problems (such as having overlapping text). A more definitive solution is to indicate the strings of your labels (in the ticks), as well as positions (and I suggest rotation). A good solution is:

```
import matplotlib.pyplot as chart
from matplotlib import lines
import random
# dados gerados para esta soluĂ§ao
first_year = 2011
x1 = range(first_year,2017+1)
y1 = [random.randint(0,1100) for i in range(len(x1))]
y2 = [random.randint(0,1100) for i in range(len(x1))]
highest_value = max([max(y1),max(y2)])
file_name = 'Titulo'
# Settings
chart.title(file_name)
chart.xlabel('Years')
chart.ylabel('Committers/Contributions')
chart.ylim([0,highest_value + 100])
chart.xlim(first_year,2017)
# Values
committer_line = chart.plot(x1,y1,'r',label='Committer')
contribution_line = chart.plot(x1,y2,'b--',label='Contribution')
years = list(range(first_year,2017))
chart.xticks(years,[str(i) for i in years],rotation=45) # Usa isto para definires as tuas labels
# Legend
chart.legend()
# Show/Save
#chart.savefig(images_path + file_name.replace('.txt','-commiter-contribution.eps'), format='eps')
chart.show()
```

, which gives rise to this chart:

To respond directly to your question (if you do not want to use the above suggestion) to disconnect the scientific notation you can do:

```
ax.get_xaxis().get_major_formatter().set_scientific(False)
```

, where `ax`

could be constructed as follows (among others):

```
ax = plt.gca()
ax.get_xaxis().get_major_formatter().set_useOffset(False)
```

You would also have to call your `plot`

from `ax`

.