这是一个简单的情节:
1)如何禁用滴答? 2)如何减少他们的人数?
以下是示例代码:
from pylab import *
import numpy as np
x = [5e-05, 5e-06, 5e-07, 5e-08, 5e-09, 5e-10]
y = [-13, 14, 100, 120, 105, 93]
def myfunc(x,p):
sl,yt,yb,ec=p
y = yb + (yt-yb)/(1+np.power(10, sl*(np.log10(x)-np.log10(ec))))
return y
xp = np.power(10, np.linspace(np.log10(min(x)/10), np.log10(max(x)*10), 100))
pxp=myfunc(xp, [1,100,0,1e-6])
subplot(111,axisbg="#dfdfdf")
plt.plot(x, y, '.', xp, pxp, 'g-', linewidth=1)
plt.xscale('log')
plt.grid(True,ls="-", linewidth=0.4, color="#ffffff", alpha=0.5)
plt.draw()
plt.show()
哪个产生:
答案 0 :(得分:24)
plt.minorticks_off()
关闭它们!
要更改它们的数量/定位它们,您可以使用subsx
参数。像这样:
plt.xscale('log', subsx=[2, 3, 4, 5, 6, 7, 8, 9])
来自docs:
subsx / subsy:在每个主要刻度之间放置子句的位置。 应该是一个整数序列。例如,以log10标度:[2, 3,4,5,6,7,8,9]
将在每个专业之间放置8个对数间隔的小刻度 剔
答案 1 :(得分:15)
调用plt.minorticks_off()
会将其应用于当前轴。 (该函数实际上是gca().minorticks_off()
的包装。)
您也可以采用相同的方式将其应用于单个轴:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.minorticks_off()
答案 2 :(得分:1)
from pylab import *
import numpy as np
x = [5e-05, 5e-06, 5e-07, 5e-08, 5e-09, 5e-10]
y = [-13, 14, 100, 120, 105, 93]
def myfunc(x,p):
sl,yt,yb,ec=p
y = yb + (yt-yb)/(1+np.power(10, sl*(np.log10(x)-np.log10(ec))))
return y
xp = np.power(10, np.linspace(np.log10(min(x)/10), np.log10(max(x)*10), 100))
pxp=myfunc(xp, [1,100,0,1e-6])
ax=subplot(111,axisbg="#dfdfdf")
plt.plot(x, y, '.', xp, pxp, 'g-', linewidth=1)
plt.xscale('log')
plt.grid(True,ls="-", linewidth=0.4, color="#ffffff", alpha=0.5)
plt.minorticks_off() # turns off minor ticks
plt.draw()
plt.show()