用Matplotlib绘制股票每月最高收盘价曲线
2015-12-14 18:27
639 查看
这是《用Python玩转数据》第4周的编程小练习。目的是绘制Microsoft和INTEL公司,2014年,每个月的最高收盘价的曲线。不计分,而且老师也给出了答案,所以我在这里贴出自己的作业应该不会侵权吧。
输出的图片如下:
from matplotlib.finance import quotes_historical_yahoo_ohlc from datetime import date import pandas as pd import matplotlib.pyplot as plt start_date = (2014, 1, 1) end_date = (2015, 1, 1) MS_date = [] INTEL_date = [] MS_month = [] INTEL_month = [] quotes_MS = quotes_historical_yahoo_ohlc('MSFT', start_date, end_date) quotes_INTEL = quotes_historical_yahoo_ohlc('INTC', start_date, end_date) fields = ['date', 'open', 'close', 'high', 'low', 'volume'] #把日期原始格式转换成标准格式输出. 分别转换2支股票以避免停牌的影响 for i in xrange(len(quotes_MS)): x = date.fromordinal(int(quotes_MS[i][0])) y = date.strftime(x, '%Y-%m-%d') MS_date.append(y) MS_month.append(x.month) for i in xrange(len(quotes_INTEL)): x = date.fromordinal(int(quotes_INTEL[i][0])) y = date.strftime(x, '%Y-%m-%d') INTEL_date.append(y) INTEL_month.append(x.month) quotesdf_MS = pd.DataFrame(quotes_MS, index = MS_date, columns = fields) quotesdf_INTEL = pd.DataFrame(quotes_INTEL, index = INTEL_date, columns = fields) quotesdf_MS = quotesdf_MS.drop('date', axis = 1) quotesdf_INTEL = quotesdf_INTEL.drop('date', axis = 1) quotesdf_MS['month'] = pd.Series(MS_month, index = quotesdf_MS.index) quotesdf_INTEL['month'] = pd.Series(INTEL_month, index = quotesdf_INTEL.index) mclose_MS = quotesdf_MS.groupby('month').max().close mclose_INTEL = quotesdf_INTEL.groupby('month').max().close #使用更漂亮的模板 with plt.style.context('fivethirtyeight'): plt.plot(mclose_MS.index, mclose_MS.values, color = 'blue', marker = 'o', label = 'Microsoft') plt.plot(mclose_INTEL.index, mclose_INTEL.values, color = 'green', marker = '*', label = 'Intel') #生成图例并指定图例位置。本例中loc='best'和loc='upper left'效果相同 plt.legend(loc = 'best') plt.title('Max Close of MS and INTEL') plt.show() #plt.savefig('MS_INTEL_quotes.png')
输出的图片如下:
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- 使用spark和spark mllib进行股票预测
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例