欢迎来到咨信网! | 成为共赢成为共赢 咨信网助力知识提升 | 自信网络旗下运营:咨信网 自信AI创作助手 自信AI导航
咨信网
全部分类
  • 包罗万象   教育专区 >
  • 品牌综合   考试专区 >
  • 管理财经   行业资料 >
  • 环境建筑   通信科技 >
  • 法律文献   文学艺术 >
  • 学术论文   百科休闲 >
  • 应用文书   研究报告 >
  • ImageVerifierCode 换一换
    首页 咨信网 > 资源分类 > PDF文档下载
    分享到微信 分享到微博 分享到QQ空间

    mplfinance动态K线图的实现.pdf

    • 资源ID:846798       资源大小:2.11MB        全文页数:4页
    • 资源格式: PDF        下载积分:10金币
    微信登录下载
    验证码下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    验证码: 获取验证码
    温馨提示:
    支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    VIP下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    声明    |    会员权益      获赠5币      写作写作
    1、填表:    下载求助     索取发票    退款申请
    2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
    6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    7、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

    mplfinance动态K线图的实现.pdf

    1、2023年12 月计算机应用文摘第39 卷第2 4期mplfinance动态K线图的实现刘华煜(洛阳师范学院数学科学学院,河南洛阳47 19 34)摘要:虽然mplfinance提供了便捷的K线图绘制功能,但其仅包含基本的K线图绘制函数,缺乏支持用户与K线图之间各种交互的功能。通过对键盘事件和鼠标事件的响应,用户可以利用键盘执行K线图的缩放和平移操作,通过移动鼠标查看特定位置的数据,从而实现与K线图的互动。关键词:mplfinance;K线图;matplotlib事件LIU Huayu中图法分类号:TP311Implementation of dynamic candlestick chart

    2、 in mplfinance(School of Mathematical Science,Luoyang Normal University,Luoyang,Henan 471934,China)Abstract:Although mplfinance can conveniently plot candlestick charts,it only provides basicfunctions for drawing candlestick charts and lacks various interactions between users and the chart.By respon

    3、ding to keyboard and mouse events,users can zoom in and out or pan the chart using thekeyboard,and view data related to the mouse position by moving the mouse,thus achievinginteraction between users and the candlestick chart.Key words:mplfinance,candlestick chart,matplotlib event1引言mplfinance是一款基于Py

    4、thon的财务数据可视化库,可方便绘制股票K线图1。然而,它仅提供基本的K线图绘制功能,无法实现常见的缩放和平移操作,也无法随着鼠标移动实时显示相应位置的数据。通过处理mplfinance的键盘事件,可以使用上下箭头键执行K线图的放大和缩小,以及使用左右箭头键执行K线图的平移。通过对mplfinance 的鼠标事件进行处理,可以实时显示鼠标所在位置的数据。2 matplotlib 事件因为mplfinance 的底层是matplotlib,所以mplfinance事件实质上是matplotlib事件。与标准GUI事件相比,matplotlib事件提供更丰富的事件信息,包括事件发生在哪个Axes

    5、等详细信息2 所有matplotlib事件都继承自基类matplotlib.backend_bases.Event,其中最重要的属性是name属性,表示事件的名称。键盘事件KeyEvent类和鼠标事件MouseEvent类都继承自LocationEvent类。LocationEvent类的x和y属性表示鼠标距离画布左下角的距离(以像素为单文献标识码:A位),而 inaxes属性表示鼠标所在的Axes 实例(如果有)。此外,xdata 和ydata属性表示鼠标所在位置的数据坐标。例如,如果鼠标位置在第0 个数据(数据从0 开始)和第1个数据的正中间,那么事件的xdata属性值将为0.5。对于键盘

    6、事件KeyEvent类而言,除了继承自LocationEvent的属性,还有一个key属性,表示按下的是哪个键。对于鼠标事件MouseEvent类而言,除了继承自LocationEvent 的属性,还有其特有的属性,其中最重要的是button属性,表示按下的是哪个鼠标键。在matplotlib中,要在事件发生后执行一段代码,需要使用mpl_connect函数。其用法如下:fig.canvas.mpl_connect(eventname,eventfunc)其中,fig是已创建的图形,eventname 是事件名,而eventfunc 是函数名。mpl_connect 的功能是在fig 指定的图

    7、形上,当eventname事件发生时执行eventfunc函数。通常而言,eventfunc函数带有一个event参数,用于携带事件信息。对于鼠标而言,事件名 button_press_event表示鼠标按下事件,事件名button_release_event表示鼠标抬起事件,而事件名motion_notify_event表示鼠标移动事件。对于键盘而言,事件名key_press_event表示键盘按下事72件,事件名key_release_event表示键盘抬起事件。mpl_connect函数的示例代码如下:def f(event):print(event.x)fig.canvas.mpl_c

    8、onnect(“button_press_event,f)执行这段代码后,当用户在fig指定的图形上单击时,将触发f函数,进而输出鼠标所在位置距离 fig左边的距离(以像素为单位)。3绘制静态K线图要使用mplfinance绘制K线图,需要事先准备股票数据。这些数据必须是DataFrame类型,包含列名为 date,open,high,low,close 列,其中 date 是索引列。如果要绘制成交量图,数据还必须包含volume列。以下以中国石油(代码sh.601857)2 0 2 0 年和2021年的数据为例进行绘图,假设数据已存储在名为stockdata 的DataFrame 中,则使用

    9、mplfinance 绘制静态K线图的代码为:fig=mpf.figure(figsize=(5,5)ax1=fig.add_subplot(2,1,1)ax2=fig.add_subplot(2,1,2)mpf.plot(stockdata,type=“candle,ax=axl,volume=ax2)mpf.show()其中,axl表示K线图区域,而 ax2表示成交量图区域。运行该代码后生成的图形如图1所示。Figure16n-022020-Jun-06004002004K线图的缩放K线图包含的数据较多有利于观察股票的整体走势,而包含的数据较少则有利于观察股票短期内的涨跌趋势。因此,根据用

    10、户的不同需求,经常需要对计算机应用文摘K线图进行缩放操作。为了实现缩放功能,首先需要定义两个变量:vtotal表示当前视图内的数据量,vstart表示当前视图从哪个数据开始。由于初始的K线图包括所有数据,vtotal的初始值为数据总量,vstart的初始值为0。由于引人了缩放功能,将绘制K线图的代码封装成replot函数,其代码如下所示:def replot():ax1.clear()ax2.clear()mpf.plot(stockdata.iloc vstart:vstart+vtotal ,type=candle,ax=axl,volume=ax2)mpf.show()如果不清除原来的K

    11、线图,执行mpf.plot后K线图不会有任何更改。因此,在这里需要调用clear函数清除原有的K线图。清除原图后,再执行mpf.plot函数,绘制以vstart为起始数据、数据量为vtotal的K线图。假设通过向上箭头键执行放大功能,向下箭头键执行缩小功能。由于这涉及键盘事件,需要先定义键盘事件处理函数。以下是键盘事件处理函数的代码:def keypress(event):global vstart,vtotalif event.key=up:if vtotaltotal:n-04vtotal=total2020-Nov-02021-Mar-31图1静态K线图2023年第2 4期if vsta

    12、rttotal-vtotal:vstart=total-vtotalreplot()通过将vtotal折半来放大K线图,如果vtotal太小(此处定义为小于或等于10),则认为无需放大,直接结束函数。通过将vtotal加倍来缩小K线图,如果加倍后vtotal大于总数据量,则调整vtotal为总数据量。如果从起始数据到最后一个数据的数据量小于加倍后的vtotal,则将起始数据向前调整到合适的位置。完成vstart和vtotal的调整后,调用replot函数重新绘制K线图。最后,将这个函数与键盘单击事件绑定,绑定的代码如下:2023年第2 4期fig.canvas.mpl _ connect(ke

    13、y-press _ event,keypress)放大数次后的K线图如图2 所示。Figure1-6.05.55.04.5Jan400901200小Q车日图2 放大数次后的K线图5K线图的平移假设通过向左箭头键执行向左平移,向右箭头键执行向右平移。由于这是键盘事件,需要在之前定义的键盘事件处理函数中添加对向左/右箭头的处理。相关代码如下:def keypress(event):elif event.key=left:vstart-=int(vtotal/4)if vstarttotal-vtotal:vstart=total-vtotalreplot()通过调整vstart来实现K线图的平移,

    14、其中增加或减小的幅度为当前视图内数据量的四分之一。如果vstart减小后小于0,则将vstart设为0;如果vstart增加后导致从起始数据到最后一个数据的数据量小于当前视图内数据量,则将vstart向前调整到合适的位置。6显示鼠标所在位置数据用户通常希望随着鼠标移动,能够实时显示鼠标计算机应用文摘所在位置的数据。为实现这一功能,需要处理鼠标移动事件。在鼠标移动时,K线图上方会显示两行文本。口X90od-21JanFebFebzo uer2FebFeb273mplfinance 通过 text函数来显示文本。由于每次使用text函数显示文本,前后显示的文本会叠加在一起,导致显示上的混乱。因此,

    15、需要一开始通过text函数建立文本,然后通过set_text函数来更改文本内容,这样就能避免更改前后文本叠加在一起的情况。以下是建立这两行文本的代码:tl=fig.text(0.1,0.95,fontname=simhei)t2=fig.text(0.1,0.9,fontname=simhei)在mplfinance 中,显示文本时所使用的坐标系以左下角为原点,轴向上为正方向,轴向右为正方向,刻度以宽度或高度为1。例如,坐标(0.1,0.9)表示横向距左边为宽度的十分之一,纵向距下边为高度的十分之九(即距上边为高度的十分之一)。Mar由于文本中包含汉字,需要将其字体设置为黑x=Feb 19 y

    16、=1.38e+08体。如果不设置字体,汉字可能无法正确显示。Figure1口X2021-05-31高:4.6 6 低:4.6开盘:4.6 6收盘:4.6 2 成交量:8 8 40 6 417.065490T600400200以下是鼠标移动处理函数mousemotion 的代码:def mousemotion(event):if event.inaxes!=axl:returnx=int(event.xdata+0.5)if xvtotal-1:x=vtotal-1if x0:x=0 x+=vstart-02小Q图3鼠标所在位置各项数据图(下转第7 6 页)76展、社会进步的双赢局面。随着“互联

    17、网+”的发展,应将大数据作为重点,加强“利用微服务进行解耦”的实施,消除“信息孤岛”的现象,构建一个统一的数据中心,消除不同高校的馆藏资源之间的差距。3.3加强安全技术应用为了确保图书馆的数据安全,高校图书馆应采用安全性高、技术成熟的操作系统和应用程序。其中,高校图书馆应采取有效措施,包括定期安装防火墙、更新防病毒软件、修复系统漏洞、删除不必要的应用软件、关闭不常用的端口等,以确保图书馆的网络和服务器的安全。为确保应用程序的正常运行,高校图书馆应定期对其进行更新和升级。此外,应加强密码管理、机房管理和安全保密等方面的制度建设,并严格落实安全管理责任制。为确保系统安全和数据安全,高校图书馆必须严

    18、格执行各项规定,加强管理,严肃问责。此外,还要加强图书馆工作人员的安全意识培养和安全技能培训,明确责任,加强保障,严格执行,以消除安全隐患,努力建设一个安全、健康的图书馆网络。3.4提高馆员素质在“互联网+”时代,高校图书馆面临巨大挑战,如何克服困难、避免被边缘化,是图书馆工作者必须认真对待的问题。为了应对这些挑战,高校图书馆必须顺应时代发展,不断改革,扩大服务范围,以适应新的(上接第 7 3 页)cur_date=stockdata.iloc x.name.date()cur=stockdata.ilocx value=event.ydatatl.set_text(f/cur_date低:(

    19、cur.low)t2.set_text(f开盘:1cur.opencur.close成交量:1cur.volume)mpf.show()首先,判断鼠标是否在K线图范围内。如果不在K线图范围内,则无需处理,直接结束函数。其次,根据event.xdata确定鼠标所在数据在K线图内的位置。然后,将自加vstart,使的值表示鼠标所在数据的位置。最后,通过tl 和t2的set_text 函数更改两行文本的内容。最终,将mousemotion 函数与鼠标移动事件进行绑定。绑定的代码如下:fig.canvas.mpl_ connect(motion_ notify _ event,计算机应用文摘形势。高校

    20、图书馆工作人员应不断调整思维方式,跟上时代步伐,坚持“读者第一,服务至上”的原则,积极面对新的挑战,主动承担新的使命,自觉适应新的要求,并熟练掌握现代网络信息的处理和使用技巧。高校图书馆应持续提升责任感、凝聚力,致力于构建一个以读者需求为导向、以馆藏资源为基础、以网络技术为支撑、以用户满意度为核心的文化生态系统。4结束语如今,随着“互联网+”时代的到来,各行各业不断变革,以满足当下的社会需求。在“互联网+”时代,绿色网络的出现标志着人们期望构建一个更加文明、安全、健康的社会环境。高校图书馆应积极推动绿色健康网络的建设,以满足师生及其他社会群体的需求,并更好地推动学校的发展,使图书馆成为学校发展

    21、的重要助推器。参考文献:1 王海燕.网络环境下高校图书馆信息资源建设与服务J.内蒙古科技与经济,2 0 18(7):9 4-9 6.2曹慧芳.互联网时代高校图书馆数字化资源建设与利用研究J.江苏科技信息,2 0 2 0(3):11-14.作者简介:张冬丽(19 7 4一),本科,馆员,研究方向:图书馆学。mousemotion)随着鼠标移动,K线图上方会实时显示鼠标所在位置的数据,效果如图3所示。高:i cur.high 7结束语mplfinance本身仅支持绘制静态K线图。通过编收盘:写处理键盘事件和鼠标事件的代码,成功实现了动态K线图。基于此,用户能够灵活地与K线图进行各种交互,mplfinance 为其做出决策提供了便利。参考文献:1 袁霄.python股票量化交易从人门到实践M.北京:人民邮电出版社,2 0 2 1.2刘大成.python数据可视化之matplotlib精进M.北京:电子工业出版社,2 0 19.作者简介:刘华煜(19 7 6 一),硕士,讲师,研究方向:计算机应用。2023年第2 4期


    注意事项

    本文(mplfinance动态K线图的实现.pdf)为本站上传会员【自信****多点】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表




    页脚通栏广告
    关于我们 - 网站声明 - 诚招英才 - 文档分销 - 服务填表 - 联系我们 - 成长足迹

    Copyright ©2010-2024   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:4008-655-100    投诉/维权电话:4009-655-100   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)    



    关注我们 :gzh.png  weibo.png  LOFTER.png