私は-1000から1000までの範囲のデータをプロットしていますが、x = -1と0の間の値だけに興味があります。Matplotlibの "symlog"オプション:カーブが "戻ってくる"のを防ぐ方法?
xログスケールでプロットしたい。しかし、x値が負であるので、xscale( "log")を使うことはできません。私はxscale( "symlog")を使うことができますが、これは私が望む動作です。
残念ながら、「symlog」が壊れているようです。 linthreshx引数を2より小さい値(デフォルト?)で使用することはできません。しかし、私は-1から0までのx値に興味があるので、私はその引数を使って1e-5やそれより小さいものに設定する必要があります。
linthreshxを1より小さい値に設定すると、プロットが壊れます。ここでWhat is the difference between 'log' and 'symlog'?から取られた簡単な例です:
あなたが「戻ってくる」曲線で私が言いたいことが表示されますことを実行import numpy
from matplotlib import pyplot
# Enable interactive mode
pyplot.ion()
# Draw the grid lines
pyplot.grid(True)
# Numbers from -50 to 50, with 0.1 as step
xdomain = numpy.arange(-50,50, 0.1)
# Plots a simple linear function 'f(x) = x'
pyplot.plot(xdomain, xdomain)
# Plots 'sin(x)'
pyplot.plot(xdomain, numpy.sin(xdomain))
pyplot.axis([-60,60,-1.5,1.5])
pyplot.xscale('symlog', linthreshx=0.1)
...ここでは、結果として得られるイメージがある:
問題はそうですx軸上では0が実際には10^0 = 1で0ではないことになります。何かを小さくすると1になり、軸の値が間違っています(マウスでホバーしてx値)。
私は正しいツールを使用していないかもしれませんが、私が欲しいものを達成する方法は?私はx軸を次のようにします:-10^2 -10^1 -10^0 -10^-1 -10^-2 -10^-3 ... [定義した最小指数まで] ... 10^-3 10^-2 10^-1 10^0^10^2
1 10はあなた