Печать нескольких акций на одном графике matplotlib - PullRequest
0 голосов
/ 25 апреля 2020

вот мой код. Я пытаюсь заставить все акции печатать на одном графике и добавить цветовую кодировку. в настоящее время мой код выводит график для каждой акции отдельно и имеет черный цвет.

for ticker, stock in stocks:  
    fig = plt.figure(figsize=(30,30))

    ax1 = fig.add_subplot(10,2.5, count, ylabel="Price in $")  # adjusted 
    stock["Close"].plot(ax=ax1, color="black", lw=1.)
    plt.title(ticker)

    count += 1    # new
fig1.show()       # new

вот мой массив акций

tickers = [('AAPL', 'WIKI/AAPL'),
           ('AMCX', 'WIKI/AMCX'),
           ('CELG', 'WIKI/CELG'),
           ('CVS', 'WIKI/CVS'),
           ('DAL', 'WIKI/DAL'),
           ('DFS', 'WIKI/DFS'),
           ('EA', 'WIKI/EA'),
           ('FL', 'WIKI/FL'),
           ('GM', 'WIKI/GM'),
           ('MHK', 'WIKI/MHK')
          ]

stocks = StockData(tickers, 'XXXX')

StockData Class

class StockData:
    # Initialize with array of ticker tuples, where first element is ticker name and second is quandl code
    def __init__(self, tickers, authtoken, start_date="2015-12-30", end_date="2016-12-30"):
        self.stocks = {}
        self.authtoken = authtoken
        self.start_date = start_date
        self.end_date = end_date
        for t in tickers:
            self.stocks[t[0]] = quandl.get(t[1], authtoken=authtoken, start_date="2015-12-30", end_date="2016-12-30")

    def close_prices(self, ticker):
        return stocks[ticker]["Close"]

    def volume(self, ticker):
        return stocks[ticker]["Volume"]

    def __iter__(self):
        return StockDataIterator(self)
...