Python 未打印在对数刻度图上的xaxis编号
打开“对数”刻度时,x轴上的数字消失 如果我注释掉Python 未打印在对数刻度图上的xaxis编号,python,matplotlib,Python,Matplotlib,打开“对数”刻度时,x轴上的数字消失 如果我注释掉xscale,则会打印x轴上的数字。有人能解释一下为什么这在logscale轴上不起作用,以及如何实现这一点吗 编辑: 简化的代码,因此无需数据文件即可使用。同样的道理:没有数字 默认情况下,原木轴的刻度位置位于基准10中。因此,在上述情况下,唯一可能的xtick为1 如果将xticks更改为 plt.xticks([1,10]) 您在1和10处获得刻度 您还可以使用ticker,它可以让您做很多事情。例如: import numpy as n
xscale
,则会打印x轴上的数字。有人能解释一下为什么这在log
scale轴上不起作用,以及如何实现这一点吗
编辑:
简化的代码,因此无需数据文件即可使用。同样的道理:没有数字 默认情况下,原木轴的刻度位置位于基准10中。因此,在上述情况下,唯一可能的
xtick
为1
如果将xticks
更改为
plt.xticks([1,10])
您在1
和10
处获得刻度
您还可以使用ticker
,它可以让您做很多事情。例如:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import LogLocator
fig = plt.figure(1, [5,4])
ax = fig.add_subplot(111)
ax.plot( range(1,100) , range(1,100) , color='#aaaaff')
ax.set_xscale('log')
# This is default, so play with it
ax.xaxis.set_major_locator(LogLocator(base = 10.0))
plt.show()
如果您使用:
ax.xaxis.set_major_locator(LogLocator(base = 100.0))
然后你得到
好的,太好了!现在,如何将刻度(和数字)设置为2,4,8,16?我这样问是因为
ax.xaxis
没有xticks
!使用ax.setxscale('log',basex=2)
。
ax.xaxis.set_major_locator(LogLocator(base = 100.0))