yscale - Pythonでmatplotlibを使って対数軸をプロットする




python plt y 軸 (4)

plotの代わりにsemilogyを使うだけでいいです:

from pylab import *
import matplotlib.pyplot  as pyplot
a = [ pow(10,i) for i in range(10) ]
fig = pyplot.figure()
ax = fig.add_subplot(2,1,1)

line, = ax.semilogy(a, color='blue', lw=2)
show()

私は、matplotlibを使って1つの対数軸を持つグラフをプロットしたいと思います。

私はドキュメントを読んできましたが、構文を理解することはできません。 私はそれが恐らくプロット引数に'scale=linear'ような単純なものだと知っていますが、それを正しく得ることはできません

サンプルプログラム:

import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)

line, = ax.plot(a, color='blue', lw=2)
pylab.show()

Axes.set_yscaleメソッドを使用できます。 これにより、 Axesオブジェクトの作成後にスケールを変更することができます。 これにより、必要に応じてユーザーがスケールを選択できるようにコントロールを作成することもできます。

追加する行は次のとおりです。

ax.set_yscale('log')

'linear'を使用して線形目盛りに戻ることができます。 あなたのコードは次のようになります:

import pylab
import matplotlib.pyplot as plt
a = [pow(10, i) for i in range(10)]
fig = plt.figure()
ax = fig.add_subplot(2, 1, 1)

line, = ax.plot(a, color='blue', lw=2)

ax.set_yscale('log')

pylab.show()


だから単純なAPIを使用しているのであれば(私はipythonでたくさん使っています)、これは単純です

yscale('log')
plot(...)

これは簡単な答えを探している人に役立つことを願っています! :)。


まず第一に、 pyplotpyplotコードを混在させるのはあまり整理されていません。 さらに、 ピラプススタイルはピラブを使用するよりも好まれます。

pyplot関数のみを使用して、わずかにクリーンアップされたコードをpyplotます。

from matplotlib import pyplot

a = [ pow(10,i) for i in range(10) ]

pyplot.subplot(2,1,1)
pyplot.plot(a, color='blue', lw=2)
pyplot.yscale('log')
pyplot.show()

関連する関数はpyplot.yscale()です。 オブジェクト指向バージョンを使用する場合は、 Axes.set_yscaleメソッドで置き換えてください。 pyplot.xscale() (またはAxes.set_xscale() )を使用して、X軸のスケールを変更することもできます。

私の質問をチェックする'ログ'と 'symlog'の違いは何ですか? matplotlibが提供するグラフスケールのいくつかの例を参照してください。





logarithm