我正在尝试制作一张图表,使用matplotlib和python 3.5绘制来自雅虎财务的实时股票价格。我的代码如下:
import urllib.request
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
import datetime
import time
t = urllib.request.urlopen('http://finance.yahoo.com/quote/YHOO/history?ltr=1')
the = t.read()
soup = BeautifulSoup(the, 'html.parser')
timeticks = []
x = []
prices = []
i = 1
while 1:
n = soup.find('span',class_="Fw(500) D(ib) Fz(42px)")
time.sleep(1)
plt.cla()
nf = float(n.string)
prices.append(nf)
now= datetime.datetime.now()
times=('%02d:%02d:%d'%(now.hour,now.minute,now.second))
timeticks.append(times)
x.append(i)
print(timeticks)
print(x)
print(prices)
plt.xticks(x,timeticks)
plt.plot(x,prices,"b-")
plt.xlabel("Time")
plt.ylabel("Stock prices")
plt.title("Yahoo's Stocks")
plt.show()
i +=1
我知道有些代码可能看起来不对(我还在学习)。
当我运行此代码时,情节不会显示。我添加了print语句来检查列表是否正常工作,并且它们是。
print(timeticks)
print(x)
print(prices)
那么我需要做些什么来使我的代码工作? 谢谢