python pandas 画图、显示中文、股票K线图
目录:
1、pandas官方画图链接
2、标记图中数据点
3、画图显示中文
4、画股票K线图
5、matplotlib基本用法
6、format输出
6、format输出例子
eps_range=[0.1,0.2,0.3]
#plt.legend(['eps =%0.1f' % eps for eps in eps_range],loc='lower right')
plt.legend(['eps ={:.1f}'.format(eps) for eps in eps_range],loc='lower right')

5、matplotlib基本用法
结论:python脚本文件中,matplotlib默认是阻塞模式,plt.plot(x) 或plt.imshow(x)是直接出图像,需要plt.show()后才能显示图像。不用ion()和ioff(),麻烦 !!!
plt.cla() #清除原有图像
1、pandas官方画图链接
http://pandas.pydata.org/pandas-docs/stable/visualization.html
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html?highlight=plot
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.plot.html?highlight=series
2、标记图中数据点
import matplotlib.pyplot as plt
import numpy as np def demo_test():
a=np.array([0.15,0.16,0.14,0.17,0.12,0.16,0.1,0.08,0.05,0.07,0.06])
#Series也有argmax属性,直接Series.argmax()得到,新版本(0.20.0)中argmax属性修改为idxmax,argmin同。
max_indx=np.argmax(a)#max value index
min_indx=np.argmin(a)#min value index
plt.plot(a,'r-o')
plt.plot(max_indx,a[max_indx],'ks')
show_max='['+str(max_indx)+' '+str(a[max_indx])+']'
plt.annotate(show_max,xytext=(max_indx,a[max_indx]),xy=(max_indx,a[max_indx]))
plt.plot(min_indx,a[min_indx],'gs')
plt.show()
demo_test()

3、画图显示中文
import matplotlib
#指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif'
#解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False
4、画股票K线图
#数据源:http://pan.baidu.com/s/1hs5Wn0w #要求:Matlibplot简单应用
#1.根据数据绘制出2017年6月~8月日线级别的价格走势K线。
#2.将MA5、MA10、MA20叠加至图中
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
import datetime
from matplotlib.pylab import date2num plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False #读取数据并去掉多余数据
data=pd.read_csv('000001.SZ.csv',encoding='gbk',index_col=0).iloc[:-2,:4]
#将索引调整为datetime格式
data.index=pd.to_datetime(data.index)
#将分钟数据聚合为日数据
data_open=data.loc[:,'开盘价(元)'].resample('D').first().dropna()
data_high=data.loc[:,'最高价(元)'].resample('D').max().dropna()
data_low=data.loc[:,'最低价(元)'].resample('D').min().dropna()
data_close=data.loc[:,'收盘价(元)'].resample('D').last().dropna()
#将开盘、收盘、最高、最低数据合并,注意数据顺序,与candlestick_ochl一致
new_data=pd.concat([data_open,data_close,data_high,data_low],axis=1)
#new_data=new_data.ix['2017-06':'2017-08'];print(new_data)
#将日期索引调整到列
new_data=new_data.reset_index()
#将日期转换为num格式
new_data['日期']=[int(date2num(new_data.ix[i,['日期']])) for i in range(len(new_data))]
quotes=np.array(new_data)
fig,ax=plt.subplots(figsize=(8,5))
mpf.candlestick_ochl(ax,quotes,width=1,colorup='g',colordown='r')
#分别画出5日、10日、20日均线图
new_data.index=new_data['日期']
new_data['收盘价(元)'].rolling(window=5).mean().plot()
new_data['收盘价(元)'].rolling(window=10).mean().plot()
new_data['收盘价(元)'].rolling(window=20).mean().plot()
#将x轴设置为日期,调整x轴日期范围
ax.xaxis_date()
ax.set_xlim(datetime.datetime(2017,6,1),datetime.datetime(2017,8,31)) plt.show()
python pandas 画图、显示中文、股票K线图的更多相关文章
- 利用JFreeChart绘制股票K线图完整解决方案
http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) ...
- PHP使用HighChart生成股票K线图详解
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- 股票K线图-JfreeChart版
http://blog.csdn.net/ami121/article/details/3953272 股票K线图-JfreeChart版 标签: jfreechartpropertiesapplet ...
- WPF中使用amCharts绘制股票K线图
原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataD ...
- IOS 股票K线图、分时图
IOS 股票K线图.分时图,网上开源项目很少,质量也是参差不齐:偶尔搜索到看似有希望的文章,点进去,还是个标题党:深受毒害.经过一段时间的探索,终于在开源基础上完成了自己的股票K线图.分时图: 先放出 ...
- 基于Echarts的股票K线图展示
发布时间:2018-10-31 技术:javascript+html5+canvas 概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...
- Highstock生成股票K线图
在线演示 本地下载 使用HightStock生成股票K线图例子.
- C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...
- C#下如何用NPlot绘制期货股票K线图(2):读取数据文件让K线图自动更新
[内容介绍]上一篇介绍了K线图的基本绘制方法,但很不完善,本篇增加了它直接读取数据的功能,这对于金融市场的数据量大且又需要动态刷新功能的实现很重要. [实现方法] 1.需要一个数据文件,这里用的是直接 ...
随机推荐
- POJ 3468 区间更新(求任意区间和)A Simple Problem with Integers
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 163977 ...
- 04 MySQL数据类型
MySQL支持的数据类型 1.数值类型: a.整数类型 TINYINT 1字节 有符号(-128~127); 无符号(0~255) SMALLINT 2字节 有符号(-3276 ...
- 每天一点点之vue框架学习 - uni-app 修改上一页参数
方法一:使用微信提供的 getCurrentPages() 来实现 // 更新上一级的数据 getPrevData(){ var pages = getCurrentPages(); var curr ...
- Idea 打开多profile注意事项
Maven项目经常会有多个profile,可以方便在编译时指定profile. 如果有多个profile,idea 在打开工程后默认配置可能会有些问题. 例如: 最近在编译一个项目:https://g ...
- C++面试常见问题——08const关键字
const 类内定义 类型名 函数名(参数列表) const{ //函数体: } 类外定义 类内申明 类型名 函数名(参数列表): 类外定义 类型名 类名::函数名(参数列表){ //函数体: ...
- CSS - 解决placeholder不起作用的方法
input::placeholder { font-size: 12px; letter-spacing: 1px; color: #A8C9FF !important; } ...
- Java8系列 (四) 静态方法和默认方法(转载)
静态方法和默认方法 我们可以在 Comparator 接口的源码中, 看到大量类似下面这样的方法声明 //default关键字修饰的默认方法 default Comparator<T> t ...
- C++编程学习(十)引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量. 注意以下几点与指针的区别: 不存在空引用.引用必须连接到一块合法的 ...
- pl/sql远程连接oracle数据库乱码
1. --在PLSQL Developer中查询select userenv('language') from dual ; 我的查询结果为:AMERICAN_AMERICA.ZHS16GBK 2.新 ...
- CNN经典模型VGG
VGG是一个很经典的CNN模型,接触深度学习的人大概都有所耳闻.VGG在2014年被提出并拿来参加ImageNet挑战赛,最终实现了92.3%的正确率,得到了当年的亚军.虽然多年过去,又有很多新模型被 ...