棒グラフ - python matplotlib インストール




matplotlibのy軸の限界を設定する (5)

私はmatplotlibのy軸の限界を設定する助けが必要です。 私が試したコードはここにありますが、失敗しました。

import matplotlib.pyplot as plt

plt.figure(1, figsize = (8.5,11))
plt.suptitle('plot title')
ax = []
aPlot = plt.subplot(321, axisbg = 'w', title = "Year 1")
ax.append(aPlot)
plt.plot(paramValues,plotDataPrice[0], color = '#340B8C', 
     marker = 'o', ms = 5, mfc = '#EB1717')
plt.xticks(paramValues)
plt.ylabel('Average Price')
plt.xlabel('Mark-up')
plt.grid(True)
plt.ylim((25,250))

このプロットのデータでは、y軸の制限は20と200になります。ただし、制限は20と250が必要です。


@ Himaの答えに追加するには、現在のxまたはyの制限を変更するには、次のようにします。

import numpy as np # you probably alredy do this so no extra overhead
fig, axes = plt.subplot()
axes.plot(data[:,0], data[:,1])
xlim = axes.get_xlim()
# example of how to zoomout by a factor of 0.1
factor = 0.1 
new_xlim = (xlim[0] + xlim[1])/2 + np.array((-0.5, 0.5)) * (xlim[1] - xlim[0]) * (1 + factor) 
axes.set_xlim(new_xlim)

これは、デフォルトのプロット設定からわずかにズームアウトまたはズームしたいときに特に便利です。


あなたができることの1つは、matplotlib.pyplot.axisを使って自分で軸範囲を設定することです。

matplotlib.pyplot.axis

from matplotlib import pyplot as plt
plt.axis([0, 10, 0, 20])

0,10はx軸の範囲です。 0,20はy軸の範囲です。

matplotlib.pyplot.xlimまたはmatplotlib.pyplot.ylimを使用することもできます

matplotlib.pyplot.ylim

plt.ylim(-2, 2)
plt.xlim(0,10)

これはうまくいくはずです。 あなたのコードはTamásやManoj Govindanのように私のために働きます。 Matplotlibを更新しようとするようです。 Matplotlibを更新できない場合(例えば、管理者権限が不十分な場合など)、 matplotlib.use()別のバックエンドを使用している可能性があります。


これは少なくともmatplotlibバージョン2.2.2で動作しました:

plt.axis([None, None, 0, 100])

おそらく、これは例えばxminとymaxだけを設定する良い方法です。


問題のコードの下にあるコードによって生成された軸が最初の軸と範囲を共有している場合は、その軸の最後のプロットのに範囲を設定するようにしてください。





matplotlib