27

簡単なプロットは次のとおりです。

ここに画像の説明を入力してください

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()

生成するもの: ここに画像の説明を入力してください

4

3 に答える 3

45
plt.minorticks_off()

emをオフにします!

それらの数を変更/配置するには、subsxパラメーターを使用できます。このような:

plt.xscale('log', subsx=[2, 3, 4, 5, 6, 7, 8, 9])

ドキュメントから:

subsx / subsy:各メジャーティックの間にサブティックを配置する場所。整数のシーケンスである必要があります。たとえば、log10スケールの場合:[2、3、4、5、6、7、8、9]

各メジャーティックの間に8つの対数間隔のマイナーティックを配置します。

于 2012-05-28T08:03:38.097 に答える
27

呼び出すplt.minorticks_off()と、これが現在の軸に適用されます。(この関数は実際にはラッパーgca().minorticks_off()です。)

同じ方法で、これを個々の軸に適用することもできます。

import matplotlib.pyplot as plt
fig, ax = plt.subplots()

ax.minorticks_off()
于 2015-11-04T02:05:52.750 に答える
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()
于 2012-05-28T08:14:33.880 に答える