Matplotlib軸具有功能axhline
和axvline
,用於獨立於軸上的數據刻度在給定的y或x座標(分別)繪製水平或垂直線。matplotlib是否具有繪製軸座標中對角線的功能?
是否有類似的函數繪製一個常量對角?舉例來說,如果我有一個類似的域變量散點圖,它往往是有用知道他們是否屬於以上或y = x
線以下:
mean, cov = [0, 0], [(1, .6), (.6, 1)]
x, y = np.random.multivariate_normal(mean, cov, 100).T
y += x + 1
f, ax = plt.subplots(figsize=(6, 6))
ax.scatter(x, y, c=".3")
ax.plot([-3, 3], [-3, 3], ls="--", c=".3")
ax.set(xlim=(-3, 3), ylim=(-3, 3))
這當然可以做通過抓取軸限制(ax.get_xlim()
等),但是a)需要一些額外的步驟,並且b)在更多數據可能最終在圖上並且改變限制的情況下是脆弱的。 (實際上在某些情況下,只需添加常量線本身就可以延伸軸線)。
最好只做,例如ax.axdline(ls="--", c=".3")
,但是不清楚matplotlib代碼庫中是否存在類似的情況。你需要做的就是修改axhline
的代碼,從[0, 1]
,座標軸座標爲x
和y
,我想。
參見http://stackoverflow.com/a/14348481/6605826。我認爲這可能是你想要的。 –