Python金融数据分析教程 解放你的python编程能力 第3关 复杂金融数据图形展示 Python金融数据分析教程 1
课程内容 通过本课程学习,你将学习到 画双坐标轴图形 同时画多幅子图 图片中显示中文 闯关作业 Python金融数据分析教程
画双坐标轴图形(1) 1. 将数据保存到list数据结构中 list_year = [ 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 ] list_gdp = [ 219438.50, 270232.30, 319515.50, 349081.40, 413030.30, 489300.60, 540367.40, 595244.40, 643974.00, 689052.10, 744127.20, 827122.00 ] list_gdp_growth = [ 12.70, 14.20, 9.70, 9.40, 10.60, 9.50, 7.90, 7.80, 7.30, 6.90, 6.70, 6.90 ] 数据来源:国家统计局网站 http://data.stats.gov.cn Python金融数据分析教程
画双坐标轴图形(2) 2. 使用matplotlib画图 看不清楚了 # 导入python画图库matplotlib import matplotlib.pyplot as plt # 设置图片大小 plt.figure(figsize=(8,6)) # 画柱状图 plt.bar(list_year, list_gdp) plt.plot(list_year, list_gdp_growth, color='red') # 标识标题及坐标轴信息 plt.title('gdp amount / growth from 2006 to 2017') plt.xlabel('year') plt.ylabel('gdp amount / growth') # 显示画图结果 plt.show() 看不清楚了 Python金融数据分析教程
画双坐标轴图形(3) 关键语句 2. 使用matplotlib画图 # 导入python画图库matplotlib import matplotlib.pyplot as plt # 设置图片大小 fig = plt.figure(figsize=(8,6)) # 画柱状图 ax1 = fig.add_subplot(1,1,1) ax1.bar(list_year, list_gdp, label='gdp amount') ax1.legend(loc='upper left') ax1.set_xlabel('year') ax1.set_ylabel('gdp amount') # 画折线图 ax2 = ax1.twinx() ax2.plot(list_year, list_gdp_growth, color='red', label='gdp growth') ax2.legend(loc='upper right') ax2.set_ylabel('gdp growth') ax2.set_ylim(0, 20) # 标识标题及坐标轴信息 plt.title('gdp amount / growth from 2006 to 2017') # 显示画图结果 plt.show() 关键语句 Python金融数据分析教程
画双坐标轴图形(4) well done!!! Python金融数据分析教程
同时画多幅子图(1) 关键语句 关键语句 # 导入python画图库matplotlib import matplotlib.pyplot as plt # 设置图片大小 fig = plt.figure(figsize=(8,6)) # 画柱状图 ax1 = fig.add_subplot(2,1,1) ax1.bar(list_year, list_gdp, label='gdp amount') ax1.legend(loc='upper left') ax1.set_ylabel('gdp amount') ax1.set_title('gdp amount from 2006 to 2017') # 画折线图 ax2 = fig.add_subplot(2,1,2) ax2.plot(list_year, list_gdp_growth, color='red', label='gdp growth') ax2.legend(loc='upper right') ax2.set_ylabel('gdp growth') ax2.set_ylim(0, 15) ax2.set_title('gdp growth from 2006 to 2017') ax2.grid(True) # 调整子图之间的间距 plt.tight_layout() # 显示画图结果 plt.show() 关键语句 Python金融数据分析教程
同时画多幅子图(2) 因吹斯汀!! Python金融数据分析教程
同时画多幅子图(3) 关键语句 # 导入python画图库matplotlib import matplotlib.pyplot as plt # 设置图片大小 fig = plt.figure(figsize=(8,6)) # 画柱状图 ax1 = fig.add_subplot(1,2,1) ax1.bar(list_year, list_gdp, label='gdp amount') ax1.legend(loc='upper left') ax1.set_ylabel('gdp amount') ax1.set_title('gdp amount from 2006 to 2017') # 画折线图 ax2 = fig.add_subplot(1,2,2) ax2.plot(list_year, list_gdp_growth, color='red', label='gdp growth') ax2.legend(loc='upper right') ax2.set_ylabel('gdp growth') ax2.set_ylim(0, 15) ax2.set_title('gdp growth from 2006 to 2017') ax2.grid(True) # 调整子图之间的间距 plt.tight_layout() # 显示画图结果 plt.show() Python金融数据分析教程
同时画多幅子图(4) 赞赞赞!!! Python金融数据分析教程
坐标使用中文(1) 乱码?? # 导入python画图库matplotlib import matplotlib.pyplot as plt # 设置图片大小 fig = plt.figure(figsize=(8,6)) # 画柱状图 ax1 = fig.add_subplot(1,1,1) ax1.bar(list_year, list_gdp, label='gdp总量') ax1.legend(loc='upper left') ax1.set_xlabel('年份') ax1.set_ylabel('gdp总量') # 画折线图 ax2 = ax1.twinx() ax2.plot(list_year, list_gdp_growth, color='red', label='gdp增长率') ax2.legend(loc='upper left') ax2.set_ylabel('gdp增长率') ax2.set_ylim(0, 20) # 标识标题及坐标轴信息 plt.title('2006 至 2017 中国GDP 总量 / 增长率 示意图') plt.legend() # 显示画图结果 plt.show() 乱码?? Python金融数据分析教程
坐标使用中文(2) 舒服多了 from matplotlib.pylab import mpl # 指定默认字体 mpl.rcParams['font.sans-serif'] = ['FangSong'] # 解决保存图像是负号'-'显示为方块的问题 mpl.rcParams['axes.unicode_minus'] = False 舒服多了 Python金融数据分析教程
闯关作业 1.画一张招商银行2018年2月份股价图,包含下面两张子图: 每天的收盘价折线图 每日的涨跌幅柱状图 要求使用中文坐标,数据见表格。 trade_date close change_rate 20180201 34.45 0.015027 20180202 34.50 0.001451 20180205 34.89 0.011304 20180206 34.62 -0.007739 20180207 32.39 -0.064414 20180208 31.28 -0.034270 20180209 30.71 -0.018223 20180212 30.05 -0.021491 20180213 30.91 0.028619 20180214 31.37 0.014882 20180222 31.50 0.004144 20180223 31.78 0.008889 20180226 31.51 -0.008496 20180227 30.87 -0.020311 20180228 30.30 -0.018465 Python金融数据分析教程
欢迎访问https://www.quantos.org Python金融数据分析教程