目录

  • 快速绘制K线图
      • 快速绘制蜡烛图
    • K线图的优化
      • 过滤非交易时间
    • 设置颜色、形状、注释

快速绘制K线图

Pandas是金融领域非常好用且高效的数据分析与处理模块。
import plotly as py
import  plotly.graph_objs as go
pyplt=py.offline.plot
import pandas as pd
df=pd.read_csv(r'C:/Users/daasda/Desktop/py语言/《基于plotly的动态可视化绘图》数据/Chapter05/dat/appl.csv',index_col=['date'],parse_dates=['date'])
trace=go.Ohlc(x=df.index,open=df.open,high=df.high,low=df.low,close=df.close
)
data=[trace]
pyplt(data,filename=r'OHLC(美国线)图.html')

结果:

快速绘制蜡烛图

import plotly as py
import  plotly.graph_objs as go
pyplt=py.offline.plot
import pandas as pd
df=pd.read_csv(r'C:/Users/daasda/Desktop/py语言/《基于plotly的动态可视化绘图》数据/Chapter05/dat/appl.csv',index_col=['date'],parse_dates=['date'])
trace=go.Candlestick(x=df.index,open=df.open,high=df.high,low=df.low,close=df.close
)
data=[trace]
pyplt(data,filename=r'蜡烛图.html')

结果:

以上两种函数虽然效果不错,但是却有一个致命的缺陷,那就是绘图结果中包含了所有的日期信息,包括非交易日。

K线图的优化

过滤非交易时间

这属于对X轴进行操作,需要在布局管理中进行。

import plotly as py
import  plotly.graph_objs as go
pyplt=py.offline.plot
import pandas as pd
df=pd.read_csv(r'C:/Users/daasda/Desktop/py语言/《基于plotly的动态可视化绘图》数据/Chapter05/dat/appl.csv',index_col=['date'],parse_dates=['date'])
trace=go.Ohlc(x=df.index,open=df.open,high=df.high,low=df.low,close=df.close
)
data=[trace]
layout=go.Layout(xaxis=go.XAxis(autorange=True,mirror='all',gridcolor='rgb(180,180,180)',showline=True,#画出x轴showgrid=True,tickangle=-60,categoryorder="category ascending",type='category'),#把x轴的元素看成是分类的元素,并对其进行升序排序yaxis=go.YAxis(autorange=True,gridcolor='rgb(180,180,180)'))fig=go.Figure(data=data,layout=layout)
pyplt(fig,filename=r'K线图优化(过滤非交易时间).html')

注:最重要的代码categoryorder="category ascending", type='category'意思是把x轴的元素看成分类的元素,并对其进行升序排序。既然元素的属性为类别,不是时间,那么就不存在过滤非交易时间的问题了。
结果:

设置颜色、形状、注释


import plotly as py
import plotly.graph_objs as go
import pandas as pdfig = go.Figure()# -------------pre def
pyplt = py.offline.plotdf=pd.read_csv(r'C:/Users/daasda/Desktop/py语言/《基于plotly的动态可视化绘图》数据/Chapter05/dat/appl.csv',index_col=['date'],parse_dates=['date'])trace = go.Candlestick(x=df.index,open=df.open,high=df.high,low=df.low,close=df.close,increasing=dict(line=dict(color='#FF0000')),decreasing=dict(line=dict(color='#0C05F9')))
data = [trace]
layout=go.Layout({'xaxis': {'showline': True,  # 画出 X 轴那条线'tickangle': -60,'categoryorder': "category ascending",'type': 'category'},'title': '苹果公司K线图','yaxis': {'title': '股票价格'},'shapes': [{'x0': '2016-08-22', 'x1': '2016-10-05','y0': 0, 'y1': 1, 'xref': 'x', 'yref': 'paper','line': {'color': 'rgb(30,30,30)', 'width': 2}}],'annotations': [{'x': '2016-09-12', 'y': 0.05, 'xref': 'x', 'yref': 'paper','showarrow': True, 'xanchor': 'left','text': '区间最低价'}]
})
fig=go.Figure(data=data,layout=layout)
pyplt(fig, filename=r'设置了颜色等的蜡烛图.html')

结果:

<金融绘图>学习笔记相关推荐

  1. 第二行代码学习笔记——第六章:数据储存全方案——详解持久化技术

    本章要点 任何一个应用程序,总是不停的和数据打交道. 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因导致内存被回收而丢失的数据. 数据持久化技术,为了解决关键性数据的丢失. 6.1 持久化技 ...

  2. 第一行代码学习笔记第二章——探究活动

    知识点目录 2.1 活动是什么 2.2 活动的基本用法 2.2.1 手动创建活动 2.2.2 创建和加载布局 2.2.3 在AndroidManifest文件中注册 2.2.4 在活动中使用Toast ...

  3. 第一行代码学习笔记第八章——运用手机多媒体

    知识点目录 8.1 将程序运行到手机上 8.2 使用通知 * 8.2.1 通知的基本使用 * 8.2.2 通知的进阶技巧 * 8.2.3 通知的高级功能 8.3 调用摄像头和相册 * 8.3.1 调用 ...

  4. 第一行代码学习笔记第六章——详解持久化技术

    知识点目录 6.1 持久化技术简介 6.2 文件存储 * 6.2.1 将数据存储到文件中 * 6.2.2 从文件中读取数据 6.3 SharedPreferences存储 * 6.3.1 将数据存储到 ...

  5. 第一行代码学习笔记第三章——UI开发的点点滴滴

    知识点目录 3.1 如何编写程序界面 3.2 常用控件的使用方法 * 3.2.1 TextView * 3.2.2 Button * 3.2.3 EditText * 3.2.4 ImageView ...

  6. 第一行代码学习笔记第十章——探究服务

    知识点目录 10.1 服务是什么 10.2 Android多线程编程 * 10.2.1 线程的基本用法 * 10.2.2 在子线程中更新UI * 10.2.3 解析异步消息处理机制 * 10.2.4 ...

  7. 第一行代码学习笔记第七章——探究内容提供器

    知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...

  8. 第一行代码学习笔记第五章——详解广播机制

    知识点目录 5.1 广播机制 5.2 接收系统广播 * 5.2.1 动态注册监听网络变化 * 5.2.2 静态注册实现开机广播 5.3 发送自定义广播 * 5.3.1 发送标准广播 * 5.3.2 发 ...

  9. 第一行代码学习笔记第九章——使用网络技术

    知识点目录 9.1 WebView的用法 9.2 使用HTTP协议访问网络 * 9.2.1 使用HttpURLConnection * 9.2.2 使用OkHttp 9.3 解析XML格式数据 * 9 ...

  10. 安卓教程----第一行代码学习笔记

    安卓概述 系统架构 Linux内核层,还包括各种底层驱动,如相机驱动.电源驱动等 系统运行库层,包含一些c/c++的库,如浏览器内核webkit.SQLlite.3D绘图openGL.用于java运行 ...

最新文章

  1. Android自己定义组件系列【2】——Scroller类
  2. 2014.7.26-7.29日广大网友的提问解答(答问题的第1个工作周)
  3. 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments
  4. 笑到打鸣~ | 今日趣图
  5. 模拟服务器和客户端交互的python脚本
  6. Forms Builder常用函数
  7. Python之实现常见算法
  8. 车rc陀螺仪测试软件,利用加速度计和陀螺仪测量车辆运动
  9. HP刀箱无法识别刀片的处理方法
  10. OSPF 配置实验1
  11. Android6.0之AMS启动App下篇
  12. 一款完全仿照E盾的源码(服务端+代理端+客户端)
  13. visio导出图片模糊的解决方案
  14. oracle dataguard 日志传输,从alert日志看Oracle 11g DataGuard日志传输
  15. ShopTalk第19集
  16. 爬虫入门(1)——requests(1)
  17. sql 闩锁 原因_如何识别和解决SQL Server中的热闩锁
  18. 【SVAC】SVAC标准简介
  19. 收藏的技术博客链接(不断更新)
  20. R3空间曲线坐标系变换及向量分析

热门文章

  1. 抖音吸粉_抖音新人主播如何增加人气 主播如何快速吸粉
  2. 贪心 - 老鼠与猫的交易
  3. 随身WiFi高通210方案9008线刷固件教程
  4. 跟着ALEX 学python day3集合 文件操作 函数和函数式编程
  5. 抖音短视频APP——视频编辑改版产品设计
  6. dboxShare 开源企业网盘系统v2.0.0.2011
  7. python读取PDF文件中跨页表格思路分享
  8. OpenJudge NOI 2.1 15:Counterfeit Dollar
  9. 关于简历,在面试时可能会被问到的问题
  10. 【转载】用Gazebo仿真UUV水下机器人(古月居)