私は、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()