1

基本的に、最初にプロットされたグラフに応じて、グラフの開始点を固定したい状況にあります。

たとえば、私がこのようなことをした場合。

import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()

x軸を7から開始するように制限して、2番目のプロットの(1,1)を削除する方法を教えてください。

これを行う方法はありますか?私はそれを自分で追跡することができましたが、これを処理するために何かが組み込まれているのかどうかだけ興味があります。

ありがとう。

4

3 に答える 3

5

Matplotlibには2つの方法があります。

import matplotlib.pyplot as plt
plt.plot([7,8,9,10], [1,4,9,16], 'yo')
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.xlim(xmin=7)
plt.show()

またはよりオブジェクト指向の方法

import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([7,8,9,10], [1,4,9,16], 'yo')
ax.plot([1,9,11,12], [1,4,9,16], 'ro')
ax.set_xlim(xmin=7)
plt.show()

IPythonを使用しない場合は、Axesオブジェクトを作成してから、ax.<Tab>すべてのオプションを入力して表示できるため、IPythonを強くお勧めします。この場合、オートコンプリートはすばらしいことです。

于 2013-01-18T05:03:47.557 に答える
3

要するに:plt.xlim()

長い間:

import matplotlib.pyplot as plt
x1, y1 = ([7,8,9,10], [1,4,9,16])
plt.plot(x1, y1, 'yo')
plt.xlim(min(x1), max(x1))
plt.plot([1,9,11,12], [1,4,9,16], 'ro')
plt.show()
于 2013-01-18T05:02:56.587 に答える
3

最初のプロット( doc)の後で自動スケーリングをオフにすることができます。

ax = plt.gca()
ax.autoscale(enable=False)

これにより、すべてのスケールがロックダウンされます(xとyを別々に実行することもできます)。

于 2013-01-18T16:21:59.057 に答える