2015-08-04 3 views
2

Я черчения в логарифмическом масштабе для каждой оси, но я не хочу, научное обозначение для оси х, так что я изменил его следующим образом:Python - Matplotlib изменить xticks для «loglog» сюжет

from matplotlib import pyplot as plt 
from matplotlib.ticker import FormatStrFormatter 

a = np.array([10.**(-2), 10.**(-3), 5.*10**(-3),10.**(-4), 10.**(-6), 10.**(-7)]) 
b = np.array([16, 12.5, 14.5, 9.5, 8., 7.5]) 

axes = plt.subplot(111) 

plt.loglog(a,b, 'k.',markersize=10,markerfacecolor='None',label='') 

plt.ylim(10**(-6),10**(-1)) 
plt.xlim(5,30) 
plt.subplots_adjust(left=0.15) 
plt.legend(loc=2) 
axes.xaxis.set_minor_formatter(FormatStrFormatter("%.0f")) 
plt.show() 

Но, как вы можете видеть на картинке ниже, есть в научной нотации среди оси х меток 10 ... Я не знаю, как подавить его и просто 10 ...

enter image description here

ответ

1

Вы можете использовать ScalarFormatter от matplotlib.ticker

import matplotlib.pyplot as plt 
from matplotlib.ticker import ScalarFormatter 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.semilogx(range(100)) 
ax.set_xscale('log') 
ax.set_yscale('log') 
ax.xaxis.set_major_formatter(ScalarFormatter()) 
#ax.yaxis.set_major_formatter(ScalarFormatter()) # for the y axis 

fig.show() 

enter image description here

Смежные вопросы