ipythonノートブックのmatplotlibプロットに任意の線を追加する質問する

ipythonノートブックのmatplotlibプロットに任意の線を追加する質問する

私は、python/matplotlib と、ipython ノートブックを使用した使用の両方にまだ慣れていません。既存のグラフに注釈線を追加しようとしているのですが、グラフに線をレンダリングする方法がわかりません。たとえば、次のものをプロットするとします。

import numpy as np
np.random.seed(5)
x = arange(1, 101)
y = 20 + 3 * x + np.random.normal(0, 60, 100)
p =  plot(x, y, "o")

次のグラフが得られます。

美しい散布図

では、(70,100) から (70,250) までの垂直線を追加するにはどうすればよいでしょうか。(70,100) から (90,200) までの対角線はどうでしょうか。

でいくつかのことを試してみましたがLine2D()、混乱するばかりでした。 では、R単純に segment() 関数を使用して線分を追加します。 に同等のものはありますかmatplotlib?

ベストアンサー1

plot対応するデータ (セグメントの境界) をコマンドに入力することで、必要な線を直接プロットできます。

plot([x1, x2], [y1, y2], color='k', linestyle='-', linewidth=2)

(もちろん色や線幅、線のスタイルなども選択できます)

あなたの例から:

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(5)
x = np.arange(1, 101)
y = 20 + 3 * x + np.random.normal(0, 60, 100)
plt.plot(x, y, "o")


# draw vertical line from (70,100) to (70, 250)
plt.plot([70, 70], [100, 250], 'k-', lw=2)

# draw diagonal line from (70, 90) to (90, 200)
plt.plot([70, 90], [90, 200], 'k-')

plt.show()

新しいチャート

おすすめ記事