Home > database >  Y axis in Python Matplotlib
Y axis in Python Matplotlib

Time:01-08

I am trying to change my y axis scale.Indeed, python puts my numbers into Scientifique Notations which I dont want .I want to stay with my original numbers.

This is my code:

Data = [['01', float(18535404.0)], ['02', float(3460047.0)], ['03', float(3924627.0)],['04',float(3377404.0)],['05',float(4006194.0)],['06',float(11077562.0)], ['07',float(2097105.0)],['08',float(2042300.0)],['09',float(899693.0)],['10',float(7598384.0)],['11',float(998367.0)]]

Create the pandas DataFrame

DataFrame3 = pd.DataFrame(Data, columns=['Month', 'Sum'])

print dataframe.

DataFrame3

plt.bar(DataFrame3['Month'],DataFrame3 ['Sum'] ,color=(0.2, 0.4, 0.6, 0.6)) I would like on my y axis these numbers: 18535404.0,3460047.0,3924627.0;....

CodePudding user response:

In python, floating numbers are truncated to lower decimals, and then parsed. If you want to exactly use the numbers as they are, try converting them to string.

str(num)

Your code will become:

Data = [['01', str(18535404.0)], ['02', str(3460047.0)], ['03', str(3924627.0)],['04',str(3377404.0)],['05',str(4006194.0)],['06',str(11077562.0)], ['07',str(2097105.0)],['08',str(2042300.0)],['09',str(899693.0)],['10',str(7598384.0)],['11',str(998367.0)]]


DataFrame3 = pd.DataFrame(Data, columns=['Month', 'Sum'])


plt.bar(DataFrame3['Month'],DataFrame3 ['Sum'] ,color=(0.2, 0.4, 0.6, 0.6))

CodePudding user response:

Matplotlib has a function called ticklabel_format that can be used for this.

Adding the following line (before plt.show()) will remove the scientific notation.

plt.ticklabel_format(style='plain', axis='y')

For more info, please refer the documentation.

  • Related