2013-10-11 2 views
2

matplotlib에 MATLAB의 Extensions과 비슷한 기능이 있습니까?matplotlib에서 선분 확장하기

기본적으로 선 세그먼트를 플롯으로 확장하는 방법을 찾고 있습니다. 내 현재 플롯은 이렇게 보입니다.

enter image description here

또 다른 질문보고 공식을 적용한 후, 여기에 그것을 얻을 수 있었다,하지만 여전히 혼란 보인다.

enter image description here

사람은 여기에 마법의 공식을 가지고 있습니까?

+0

downvoting하기 전에 의견을 남겨주세요. 이 질문은 지역 사회에 어떻게 도움이되지 않습니까? – user2869668

+0

지저분하게 정의하십시오. – gg349

답변

1

필자는 matplotlib에 존재하지 않는다고 생각하므로 직접 작성하십시오. 이것은 시작, 당신은 semiinfinite 등 난 그냥 당신이 당신의 플롯에 약간의 붉은 점을 깨달았다

import matplotlib.pylab as plt 
import numpy as np 

def extended(ax, x, y, **args): 

    xlim = ax.get_xlim() 
    ylim = ax.get_ylim() 

    x_ext = np.linspace(xlim[0], xlim[1], 100) 
    p = np.polyfit(x, y , deg=1) 
    y_ext = np.poly1d(p)(x_ext) 
    ax.plot(x_ext, y_ext, **args) 
    ax.set_xlim(xlim) 
    ax.set_ylim(ylim) 
    return ax 


ax = plt.subplot(111) 
ax.scatter(np.linspace(0, 1, 100), np.random.random(100)) 

x_short = np.linspace(0.2, 0.7) 
y_short = 0.2* x_short 

ax = extended(ax, x_short, y_short, color="r", lw=2, label="extended") 
ax.plot(x_short, y_short, color="g", lw=4, label="short") 

ax.legend() 
plt.show() 

enter image description here

, 그 중요한

추가하여 향상시킬 수있다? 어쨌든 당신이 지금까지 해답을 찾지 못했다고 생각하는 요점은 이전에 존재했던 사람들에게 음모 제한을 설정하는 것입니다.