Чтобы построить горизонтальную линию в matplotlib
, вы можете использовать plt.axhline
:
plt.scatter(BW50['Close'], color="blue", label='BW50')
axhline
имеет аргументы xmin
и xmax
, если вы предпочитаете, чтобы строки не заполнялись сюжет по горизонтали.
В зависимости от вашего конкретного c результата вы можете попробовать:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('plot_data.csv')
BW121 = df[['BW121','Close']]
BW121 = BW121.where(BW121.BW121>70).dropna()
BW50=df[['BW50','Close']]
BW50 = BW50.where(BW50.BW50>70).dropna()
LW121 =df[['LW121','Close']]
LW121 = LW121.where(LW121.LW121>70).dropna()
LW50 = df[['LW50','Close']]
LW50 = LW50.where(LW50.LW50>70).dropna()
plt.style.use('fivethirtyeight')
plt.scatter(BW121.index,BW121['Close'], color ="green",label='BW121')
plt.scatter(BW50.index , BW50['Close'], color ="blue", s=80,label='BW50')
# axhline used here, one for each 'Close' value
for i in BW50['Close']:
plt.axhline(i, color ="blue", lw=0.5)
plt.scatter(LW121.index , LW121['Close'], color ="red", s=80,label='LW121')
plt.scatter(LW50.index , LW50['Close'], color ="orange", s=80,label='LW50')
# could repeat axhline here for other data etc.
#Price Plot
plt.plot(df.index, df['Close'], marker='',alpha = 0.5,color='green')
plt.legend(loc='upper right')
plt.show()