鱼C论坛

 找回密码
 立即注册
查看: 632|回复: 4

循环 plt多个图

[复制链接]
发表于 2018-12-1 11:44:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
stationary_pair:
        青岛啤酒         宁沪高速         江西铜业         中国石化         广深铁路         深高速         南京熊猫         中国国航         中兴通讯         中国石油         广州药业         建设银行         中信银行         华电国际         工商银行         中煤能源
20150601         1.036443         0.889979         1.743385         1.109511         1.538256         1.591703         2.545097         1.210502         1.174288         1.383416         1.359584         0.871968         1.230683         1.010684         0.791784         1.916846
20150602         1.101850         0.905299         1.773245         1.109511         1.600428         1.624687         2.620145         1.284548         1.194667         1.369588         1.412369         0.874872         1.247340         1.028302         0.792785         1.871540
20150603         1.108187         0.948019         1.742669         1.112306         1.612475         1.724112         2.765434         1.292793         1.197885         1.370248         1.497856         0.870594         1.268735         1.055711         0.799863         1.813035
20150604         1.126680         0.936253         1.783174         1.151005         1.611393         1.675315         2.874436         1.279552         1.178367         1.409136         1.460257         0.891558         1.292751         1.059218         0.818428         1.994066
20150605         1.114431         0.959451         1.945335         1.196173         1.709140         1.692467         2.965459         1.366149         1.188458         1.456839         1.456438         0.902138         1.284696         1.106376         0.830741         2.067643
20150608         1.129940         1.001514         1.983484         1.236793         1.689656         1.757147         2.857008         1.452821         1.231090         1.497110         1.451981         0.952991         1.332991         1.134628         0.870404         2.162651
20150609         1.121689         1.003785         2.041345         1.231460         1.755239         1.766472         2.835782         1.479679         1.306712         1.504361         1.505105         0.955586         1.363424         1.182147         0.863997         2.212984
20150610         1.116730         0.996485         2.048819         1.230111         1.812150         1.780789         2.837454         1.516219         1.301343         1.489874         1.524589         0.956480         1.349171         1.174655         0.861979         2.351502
20150611         1.122107         0.981700         1.984563         1.215062         1.771774         1.848450         2.568035         1.525860         1.300679         1.482606         1.560315         0.939055         1.321369         1.154191         0.850918         2.279777
20150612         1.102197         1.042110         1.961515         1.205568         1.813575         1.859680         2.606534         1.482603         1.274651         1.470326         1.476549         0.934124         1.349838         1.209929         0.841905         2.319171

以下代码希望通过循环绘制逐个把stationary_pair的每只股票画出来:

import matplotlib.pyplot as plt

for i in stationary_pair.columns :
    x=1
    plt.figure(num=x)
    plt.plot(stationary_pair.loc[:,i])
#stationary_pair[:,0].plot(figsize=(20,7))
    plt.axhline(pair.loc[:,i].mean(), color='black')
    plt.axhline(pair.loc[:,i].mean()+pair.loc[:,i].std(), color='red', linestyle='--')
    plt.axhline(pair.loc[:,i].mean()-pair.loc[:,i].std(), color='green', linestyle='--')
    plt.title(i,fontproperties='SimHei',fontsize=15)
    plt.show()
    x+=1
结果还是叠加到一张图里去了;

请大神帮忙~
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-12-2 11:53:30 | 显示全部楼层
求回复
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-2 12:09:13 | 显示全部楼层
import matplotlib.pyplot as plt
#将index转换为str,在转换为datetime格式,将格式化后的列表作为index,避免plt画畸形图
stationary_pair.index=pd.to_datetime(stationary_pair.index.astype('str'))
for i in stationary_pair.columns :
    x=1
    plt.figure(num=x,figsize=(15,5))
    plt.plot(stationary_pair.loc[:,i])
    plt.axhline(pair.loc[:,i].mean(), color='black')
    plt.axhline(pair.loc[:,i].mean()+pair.loc[:,i].std(), color='red', linestyle='--')
    plt.axhline(pair.loc[:,i].mean()-pair.loc[:,i].std(), color='green', linestyle='--')
    plt.title(i,fontproperties='SimHei',fontsize=15)
    plt.show()
    x+=1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-2 12:12:58 | 显示全部楼层
plok1221 发表于 2018-12-2 12:09
import matplotlib.pyplot as plt
#将index转换为str,在转换为datetime格式,将格式化后的列表作为index, ...

你这是解决了么,没有的话可以把你的股票数据和生成dateframe的的代码发出来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-12-2 17:05:48 | 显示全部楼层
已经搞定了,多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-11 08:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表