Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change font size of the scientific notation in matplotlib?

Tags:

I want to make a plot with large font size, I can change all font sizes easily except when I use scientific notations in the axis label. I have searched and tried but haven't found a way to change the size of the scientific appendix. See this figure:

http://i.imgur.com/Rtv9hw6.png1

In this figure, "1e-4" is just too small compared to other texts and labels. These codes are relevant in producing the enlarged fonts used in this figure:

ax.tick_params(labelsize=24)
ax.yaxis.get_major_formatter().set_powerlimits((0, 1))
ax.text(0.3,4.9e-4,'(a)',va='top',fontsize=24)
plt.xlabel('$r$ (a.u.)',fontsize=24)
plt.ylabel('Probability',fontsize=24)

By the way, how to change "1e-4" into "x1e-4"? Thanks!

like image 324
Hongcheng Ni Avatar asked Dec 11 '15 15:12

Hongcheng Ni


People also ask

How do I change the font size in Matplotlib?

Plot x data points using plot() method. To change the font size of the scale in matplotlib, we can use labelsize in the ticks_params()method. To display the figure, use show() method.

What is the default font size in Matplotlib?

Note: The default font size for all elements is 10.


2 Answers

You want to change the fontsize of the offset_text from the yaxis. You can do that with this line:

ax.yaxis.get_offset_text().set_fontsize(24)

Or equivalently:

ax.yaxis.offsetText.set_fontsize(24)

enter image description here

like image 173
tmdavison Avatar answered Oct 06 '22 19:10

tmdavison


I use ax.yaxis.set_major_formatter(ScalarFormatter(useMathText=True)) for changing 1e-4 to x10^-4

like image 45
Gulnara Avatar answered Oct 06 '22 20:10

Gulnara