我的Python心路历程 第十期 (10.5 股票实战之数据可视化曲线)

首先,通过公司股票代码名称获取数据并存储在csv文件中,数据来源于雅虎金融。

#!/usr/bin/python
# coding=UTF-8# 基本信息
import os
import numpy as np
import pandas as pd
from pandas import Series, DataFrame# 股票数据读取
import pandas_datareader as pdr# 可视化
import matplotlib.pyplot as plt
#import seaborn as sns
#%matplotlib inline# time
from datetime import datetimeif __name__ == '__main__':main()

成功写入csv效果如下图所示:

最为关键的是,这样获取的数据中是以带Adj Close值的,但从通信打下载的日线数据中没有该值,为此而苦恼了很久呢。

其次,一些基本操作。

通过pandas读取csv数据。


效果如下图所示:

提取Date和Adj Close,并图形化显示。

        #提取Date和Adj Closetop_tech_dfAdj = pd.merge(top_tech_df['Date'], top_tech_df['Adj Close'], how='outer', left_index=True, right_index=True)print top_tech_dfAdj.head()#画全部top_tech_dfAdj.plot()plt.show()

打印结果如下图所示:

图形化结果如下图所示:

但奇怪的是横轴没有显示日期。
经过优化后,更新部分的代码为:

        #初始化x、y轴的list取值# X坐标,将str类型的数据转换为datetime.date类型的数据,作为x坐标(直接取top_tech_dfAdj['Date']在内部处理是无法识别,要求float类型)xs = [datetime.strptime(d, '%Y-%m-%d').date() for d in top_tech_dfAdj['Date']]ys = top_tech_dfAdj['Adj Close']#图表属性,坐标轴设置如下plt.title(comnames + "  Adj Close")    #中文就会有编译错误plt.xlabel("Date")plt.ylabel("Adj Close")ax = plt.gca()  # 表明设置图片的各个轴,plt.gcf()表示图片本身ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))  # 横坐标标签显示的日期格式;注意,如果不加语句plt.gca().xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')),则横坐标只显示年份ax.axes.set_xticks(xs)plt.plot(xs, ys)#, 'o-')  # o-会现实圆点,不加参数值默认是曲线plt.xticks(pd.date_range('2020-01-01', '2020-12-30', freq='10d'))   #横坐标日期范围及间隔plt.yticks(range(0, 20, 1))  #设置纵坐标,使用range()函数设置起始、结束范围及间隔步长plt.gcf().autofmt_xdate()  # 自动旋转日期标记plt.tight_layout()  #自动调整标签大小#显示plt.show()

日期出来了,但是密度和范围生效方式不理想,如下图所示:

显示所有日期,且间隔90天的代码为:

        plt.xticks(pd.date_range('2015-01-01', '2020-12-30', freq='90d'))   #横坐标日期范围及间隔

效果图为:

如何才能做到x轴整个区间显示指定范围的呢?思考良久,找了很多资料也没有说法。暂时到这里吧,日后真的用到了再说,先假装这个是伪需求吧!

plt可视化编译报错的解决办法。

RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework.

在报错的py文件中加入如下代码:

#Mac OS X:Python is not installed as a framework解决方案
**import matplotlib
matplotlib.use('TkAgg')**

添加位置见下图所示:

1、我的Python心路历程 第十期 (10.4 股票实战之可视化figure篇)
2、【数据分析可视化】股票市场分析实战之风险分析
3、使用Python的pandas-datareader包下载雅虎财经股价数据

我的Python心路历程 第十期 (10.5 股票实战之数据可视化曲线)相关推荐

  1. 我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv)

    我的Python心路历程 第十期 (10.3 雅虎金融股票day数据转化为csv) 上期实践了如何获取通信达数据,但先天不足是无法获取Adj Close的取值,今天这一实践课堂可以解决这个忧虑. 首先 ...

  2. 我的Python心路历程 第十期 (10.2 通达信股票day数据转化为csv)

    背景 今日我的Python心路历程是 通达信股票day数据转化为csv) 方案 股票day数据转化为csv,便于pandas分析.详见参考1来下载股票日线数据,如:上证所有证券日线. 其中,需要了解的 ...

  3. 我的Python心路历程 第十二期 (12.4 指数实战可视化之plot中展示文本)

    我的Python心路历程 第十二期 (12.4 指数实战可视化之plot中展示文本) label.文本的显示. 代码: plt.xlabel(u'日期')plt.ylabel(u'净值')plt.te ...

  4. 相约2023 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2023年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

  5. 经典升级,长直播,马上开课 | 第 20 期高级转录组分析和R数据可视化火热报名中!!!...

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2032年02月17-19 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

  6. 罗兰贝格第十期《汽车行业颠覆性数据探测》重磅发布:虽近犹远——通往自动驾驶的曲折之路...

    罗兰贝格 <汽车行业颠覆性数据探测> 每年发布两期,对26项汽车行业颠覆性指标进行追踪.目前,随着报告覆盖的国家增加至23个,第十期 <汽车行业颠覆性数据探测>正式发布.这标志 ...

  7. 本周开课 | 第 17 期高级转录组分析和R数据可视化火热报名中!!!

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年4月15-17 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...

  8. 第16期高级转录组分析和R数据可视化培训(2022年1月)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年1月14-16 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实时 ...

  9. 经典升级,长直播,马上开课 | 第 19 期高级转录组分析和R数据可视化火热报名中!!!...

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年10月21-23 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

  10. 经典升级,长直播 | 第 19 期高级转录组分析和R数据可视化火热报名中!!!...

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现安排<高级转录组分析和R数据可视化>于2022年10月21-23 线上/线下课程 (线上课是通过腾讯会议实时直播线下课,实 ...

最新文章

  1. python学习笔记七
  2. COJ 0650 绝世难题(一) 可爱的仙人掌
  3. vs2010利用属性表自动配置OpenCV(XP的32位系统,opencv版本是2.4.10)
  4. clr enabled Server Configuration Option
  5. python 皮尔森相关系数
  6. C/C++中“空语句”的说明
  7. gatsby_如何使用Gatsby和MDX从头开始构建编码博客
  8. jacson 将json字符串转换为list
  9. 微型计算机控制系统常用报警方式,微型计算机控制技术复习资料.docx
  10. Hive thrift服务(将Hive作为一个服务器,其他机器可以作为客户端进行访问)
  11. 距离Java开发者玩转 Serverless,到底还有多远?
  12. 顶点计划:辅导员与学生关系讨论
  13. vue 圆形百分比进度条_vue圆形进度条
  14. Vue3.0 所采用的 Composition Api 与 Vue2.x 使用的 Options Api 有什么不同?
  15. win10安装Adobe 2022全新体验安装教程 你觉得到底香不香
  16. 未转变者服务器关雨指令,Unturned未转变者3.21版本物品ID代码汇总
  17. 如何自己制作CHM电子书?
  18. MADlib——基于SQL的数据挖掘解决方案(7)——数据转换之其它转换
  19. 2019华为网络精英挑战赛参赛体验
  20. 从线下棋牌室到棋牌游戏开发平台 棋牌游戏行业发生了太多变化

热门文章

  1. 数据治理系列:数据血缘关系
  2. Python字符串地常规操作:取值,切片,查找,替换,分割,拼接,转义
  3. SSH项目整合基本步骤
  4. 股份制的起源—严谨版与趣味版
  5. oracle lob函数,Oracle可以处理LOB字段的常用字符函数
  6. 基因编辑技术在农业中的应用综述
  7. 天蓝色在ps中的色值_天蓝色事件网格集成测试
  8. 反病毒工具-WinDBG
  9. 迷茫的剑客----网站设计师! -----静水流深
  10. bzoj2101[Usaco2010 Dec]Treasure Chest 藏宝箱*