2016-11-09 81 views
1

我正在使用python的matplotlib並且想要創建帶有附加行的matplotlib.scatter()。該行應該從左下角到右上角,而不受散點圖內容的影響。 通過數據的線性迴歸,如this post,不是我所期待的。它也應該動態地獨立於分散輸入。使用python的matplotlib添加線到散點圖

這應該是最後的情節:

enter image description here

編輯:

這樣做讓我的結果:

# Scatter Plot 
x = data_calc_hourly.temp 
y = data_obs_hourly.temp 

lineStart = data_calc_hourly.temp.min() 
lineEnd = data_calc_hourly.temp.max() 

plt.figure() 
plt.scatter(x, y, color = 'k', alpha=0.5) 
plt.plot([lineStart, lineEnd], [lineStart, lineEnd], 'k-', color = 'r') 
plt.xlim(lineStart, lineEnd) 
plt.ylim(lineStart, lineEnd) 
plt.show() 

有沒有什麼更好的辦法?

+0

可能會導致你get_ylim軸限制( )和get_xlim(),然後計算你正在尋找的線性函數的公式。 – Luka

+0

我只想要一條直線獨立的直線函數 – Manuel

+0

直線函數是一條直線獨立的直線。這種方式僅取決於matplotlib選擇的座標軸。 – Luka

回答

3

這畫對角線獨立於散點圖數據和撐植根於軸即使調整窗口的大小:

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.lines as mlines 
import matplotlib.transforms as mtransforms 

x, y = np.random.random((2, 100))*2 
fig, ax = plt.subplots() 
ax.scatter(x, y, c='black') 
line = mlines.Line2D([0, 1], [0, 1], color='red') 
transform = ax.transAxes 
line.set_transform(transform) 
ax.add_line(line) 
plt.show() 

enter image description here

+0

正是我所期待的! – Manuel