[英]matplotlib plot yahoo chart api graph plot
我只是開始學習matplotlib。 我正在嘗試繪制Yahoo Char API地塊股票。 我正在嘗試該程序,但無法正常工作。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
def graph():
date, closep, highp, lowp, openp, valuep = np.loadtxt('/home/najeeb/Desktop/table.csv', delimiter=',', unpack=True,
converters={0: mdates.strpdate2num('%Y-%m-%d')})
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1, axisbg='w')
plt.plot_date(x=date, y=value, fmt='-')
plt.title('title')
plt.ylabel('value')
plt.xlabel('date')
plt.show()
graph()
請指導我如何解決這個問題,還有另一種方法繪制股票圖...謝謝
CSV文件如下所示:
Date,Open,High,Low,Close,Volume,Adj Close
2014-10-17,97.50,99.00,96.81,97.67,68032200,97.67
2014-10-16,95.55,97.72,95.41,96.26,72110700,96.26
2014-10-15,97.97,99.15,95.18,97.54,100875400,97.54
您的代碼np.loadtxt()
試圖將標頭'Date'解析為日期,該方法不起作用,因為該字符串不是有效的日期值,因此我使用skiprows=1
來跳過標頭。
另一個問題是,CSV有7列,而在您的元組中,您僅拆包了6個值
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import urllib2
url = 'http://ichart.finance.yahoo.com/table.csv?s=AAPL&d=9&e=14&f=2008&g=d&a=8&b=7&c=1984&ignore=.csv'
def graph():
date, open, high, low, close, volume, adj_close = np.loadtxt(urllib2.urlopen(url), skiprows=1, delimiter=',', unpack=True, converters={0: mdates.strpdate2num('%Y-%m-%d')})
fig = plt.figure()
ax1 = fig.add_subplot(1,1,1, axisbg='w')
plt.plot_date(x=date, y=adj_close, fmt='-')
plt.title('Apple, 1984 to 2008')
plt.ylabel('Adjusted close')
plt.xlabel('Date')
plt.show()
graph()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.