tow 서브 플로트로 데이터를 그래프로 나타낼 계획입니다. 첫번째 서브 플로트에는 모든 주가, 이동 평균 (창 = 5), 이동 평균 (창 = 8) 및 이동 평균 (창 = 13)이 포함됩니다.add_subplot 함수를 사용할 때 범례가 누락되었습니다.
두 번째 서브 플로트에는 RSI .
처음에는 주가 (인덱스로 날짜 사용) 인 심각한 데이터를 얻습니다. 다음으로 이동 평균 인 심각한 데이터를 만들기 위해 ema라는 함수를 정의합니다.
나는 또한 rsi라는 심각한 데이터를 만들기 위해 rsi라는 함수를 만든다.
그런 다음 graph_with_indicator라는 다음 함수를 정의하려고합니다. 이 함수에서는 우선 모든 ema와 주가를 데이터 프레임으로 합칩니다. 그런 다음 rsi를 심각하게 만듭니다.
다음으로 add_subplot (211)을 사용하여 첫 번째 데이터 프레임을 그립니다. 그런 다음 add_subplot (212)을 사용하여 rsi를 그렸다.
실제로 범례를 제외하고는 성공합니다. rsi 범례 만 생성 할 수 있지만 첫 번째 그래프에는 생성 할 수 없습니다.
아무도 도와 줄 수 있습니까?
내 첫 번째 그래프는 데이터 프레임이지만 두 번째 그래프는 심각하므로 두 번째 범례를 생성 할 수 있습니까?
그리고 또 다른 질문이 있습니다. 실제로 모든 데이터를 하나의 데이터 프레임에 결합한 다음 별도로 서브 플로트를 만들 수 있습니까? 예를 들어 5 열의 데이터 프레임을 얻은 다음 첫 번째 두 개의 열을 첫 번째 서브 그림으로 만들고 마지막 두 개의 열을 두 번째 서브 그림으로 만듭니다.
def graph_with_indicator(stock):
#5,8,13
df = pd.DataFrame(stock)
name = str(df.columns[0])
windows = [5,8,13]
for window in windows:
df_tmp = ema(stock,window)
df = df.join(df_tmp)
stock_rsi = rsi(stock,14)
fig = plt.figure()
fig.suptitle(name, fontsize=20)
ax1 = fig.add_subplot(211)
ax1.xaxis.set_visible(False)
ax2 = fig.add_subplot(212)
ax1.plot(df)
ax2.plot(stock_rsi)
ax1.legend(loc='upper left')
ax2.legend(loc='upper left')
plt.subplots_adjust(left= 0.1, bottom= 0.1, right= 0.98, top= 0.9, wspace= 0, hspace= 0.1)
plt.show()
감사합니다. 알았다. –