目录:

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基本用法

matplotlib中ion()和ioff()的使用

结论: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线图的更多相关文章

  1. 利用JFreeChart绘制股票K线图完整解决方案

    http://blog.sina.com.cn/s/blog_4ad042e50100q7d9.html 利用JFreeChart绘制股票K线图完整解决方案 (2011-04-30 13:27:17) ...

  2. PHP使用HighChart生成股票K线图详解

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  3. 股票K线图-JfreeChart版

    http://blog.csdn.net/ami121/article/details/3953272 股票K线图-JfreeChart版 标签: jfreechartpropertiesapplet ...

  4. WPF中使用amCharts绘制股票K线图

    原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataD ...

  5. IOS 股票K线图、分时图

    IOS 股票K线图.分时图,网上开源项目很少,质量也是参差不齐:偶尔搜索到看似有希望的文章,点进去,还是个标题党:深受毒害.经过一段时间的探索,终于在开源基础上完成了自己的股票K线图.分时图: 先放出 ...

  6. 基于Echarts的股票K线图展示

    发布时间:2018-10-31   技术:javascript+html5+canvas   概述 基于echarts的股票K线图展示,只需引用单个插件,通过简单配置,导入数据,即可实现炫酷复杂的K线 ...

  7. Highstock生成股票K线图

    在线演示 本地下载 使用HightStock生成股票K线图例子.

  8. C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数

    [内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...

  9. C#下如何用NPlot绘制期货股票K线图(2):读取数据文件让K线图自动更新

    [内容介绍]上一篇介绍了K线图的基本绘制方法,但很不完善,本篇增加了它直接读取数据的功能,这对于金融市场的数据量大且又需要动态刷新功能的实现很重要. [实现方法] 1.需要一个数据文件,这里用的是直接 ...

随机推荐

  1. Set Request Header

    第1步 webpack package.json 的 scripts 里的 dev 要新增 --host 0.0.0.0 这样在浏览器里用ip地址代替localhost就能运行了 第2步 在pc浏览器 ...

  2. 从高通出重拳,iPhone遭禁售看巨头们的专利大战

    一直以来,高通看起来都是很有"骨气"的.面对与苹果的专利纷争,高通始终是据理力争.顽强对抗.截至今年6月中旬,高通和苹果打了50多场专利官司,且这些官司分布于6个不同国家的16个司 ...

  3. Tunning spark

    Data Serialization 对spark程序来说,可能会产生的瓶颈包括:cpu,网络带宽,内存 在任何分布式应用中数据序列化都非常重要,数据序列化带来的作用是什么?第一减少内存占用,第二减小 ...

  4. 学习spring的第4天

    关于老式的spring+mybatis整合,使用了druid连接池,还使用了mybatis-spring依赖(用于整合的),但是这个依赖本身就使用了spring-jdbc的某些类来处理事务方面的内容, ...

  5. Ubantu学习笔记3

    修改PATH环境变量 ~/.profile --->(在文件最后一行添加) PATH="要增加的路径:$PATH" 或者 export 使用变量="调用参数&quo ...

  6. js 获取时间对象

    1.当前系统时间   var date=new Date(); 2.字符串转时间对象  var date=new Date("2018-01-01"); 3.获取年份: var y ...

  7. 【LeetCode】最长公共子序列

    [问题]给定两个字符串A和B,长度分别为m和n,要求找出它们最长的公共子串,并返回其长度.例如:A = "HelloWorld"B = "loop"则A与B的最 ...

  8. window10 家庭版安装docker和php开发环境

    前期工作   一.在宿主机创建文件夹 D:\wnmp\mysql57-conf D:\wnmp\mysql57-log D:\wnmp\nginx110-conf D:\wnmp\nginx110-l ...

  9. VScode 修改中文字体

    打开vscode ctrl+,打开设置 找到font,第一个是首选的英文字体,第二个是中文字体.

  10. 2020/1/31 PHP代码审计之目录穿越漏洞

    0x00 目录穿越 目录穿越(Directory Traversal)攻击是黑客能够在Web应用程序所在的根目录以外的文件夹上,任意的存取被限制的文件夹,执行命令或查找数据.目录穿越攻击,也与人称为P ...