python - Matplotlib: Remove scientific notation in subplot -
i want create figure 4 subplots. each plot in row shares same y
axis , plots in same column share same x
axis. on each axis use scientific notation. while can remove numbers of ticks ticklabel_format
, not remove exponent @ axis. ax1.xaxis.set_visible(false)
, 1e5
@ x-axis
removed tick marks. how can remove 1ex
@ subplots share axis 1 while keeping tick marks? example, how rid of 1e5
, 1e2
in subplot 2?
import numpy np import matplotlib.pyplot plt fig = plt.figure() ax3 = fig.add_subplot(223) ax1 = fig.add_subplot(221, sharex = ax3) ax4 = fig.add_subplot(224, sharey = ax3) ax2 = fig.add_subplot(222, sharex = ax4, sharey = ax1) #first plot x = np.arange(0, 10**5, 100) y = x ax1.plot(x,y) ax1.set_title('subplot 1') # third plot y = -x ax3.plot(x,y) ax3.set_title('subplot 3') #second plot x = np.arange(0, 100) y = 10**3 * x + 100 ax2.plot(x,y) ax2.set_title('subplot 2') #fourth plot y = -10**3 * x - 100 ax4.plot(x,y) ax4.set_title('subplot 4') ax4.ticklabel_format(style = 'sci', axis='x', scilimits=(0,0)) ax3.ticklabel_format(style = 'sci', axis='x', scilimits=(0,0)) ax1.ticklabel_format(style = 'sci', axis='y', scilimits=(0,0)) ax3.ticklabel_format(style = 'sci', axis='y', scilimits=(0,0)) plt.setp(ax1.get_xticklabels(), visible=false) plt.setp(ax2.get_xticklabels(), visible=false) plt.setp(ax2.get_yticklabels(), visible=false) plt.setp(ax4.get_yticklabels(), visible=false) plt.show()
returns:
if add these lines each of axes (ax1
example):
ax1.xaxis.get_offset_text().set_visible(false) ax1.yaxis.get_offset_text().set_visible(false)
this remove scientific notation text both axis.
Comments
Post a Comment