matplotlib.pyplot画图dataframe

plot

def tv_draw_15s(df_tv,df_res,d):
    #把0用空值替代
    df_res=df_res.replace(0.0,np.nan)
    #求非空的平均值
    iv_mean=df_res['iv'].mean()
    #把空值用平均值替代
    df_res['iv'].fillna(iv_mean,inplace=True)
    # print(df_res)
    df_ts=pd.read_csv("E:\\py\\05230617\\data\\TS_15s.csv")
    df_tv['time']=pd.to_datetime(df_tv['time'])
    df_ts['time']=pd.to_datetime(df_ts['time'])
    i=0
    for index,row in df_ts.iterrows():
        time=row['time']
        if index==0:
            df_tmp=df_tv[df_tv['time']==time]
        else:
            last_time=df_ts.iloc[i-1,0]
            df_tmp=df_tv[(df_tv['time']>last_time)&(df_tv['time']<=time)]
        df_copy=df_tmp.copy(deep=True)
        del df_copy['time']
        del df_copy['time_plot']
        df_ts.at[index,'tv']=df_copy.sum().sum()
        df_ts.at[index,'iv']=df_res.iloc[i,7]
        i=i+1
    fileaddr="E:\\py\\05230617\\tv_plot_process\\"+"tv_plot_"+d+"_15s.csv"
    df_ts.to_csv(fileaddr,index=False)
    # df=df_tv.copy(deep=True)
    # del df['time']
    # del df['time_plot']
    # df['sum']= df.apply(lambda x: x.sum(), axis=1)
    # df_tv['row_sum']=df['sum']
    # df_tv['iv']=df_res['iv']
    
    # iv_mean=df_res['iv'].mean()
    
    # df_res['sfp'].fillna(sfp_mean,inplace=True)
    # df_res['iv'].fillna(iv_mean,inplace=True)
    # df_res.to_csv("E:\\py\\02240317iv\\data\\tt.csv")
    
    # return None
    x=df_ts['time_plot'].tolist()
    x=x[4:]
    #s=df_res[['sfp']]
    #s[s==0]=np.nan
    #df_res[['sfp']]=s
    y1=df_ts['tv'].tolist()
    y1=y1[4:]
    y2=df_ts['iv'].tolist()
    y2=y2[4:]
    
    color1 = 'tab:blue'
    #plt.plot(x,y1)
    fig, ax1 = plt.subplots()
    
    ax1.plot(x,y1,color=color1,linewidth=0.5)
    ax2 = ax1.twinx()
    #plt.ylim(2.5,3.5)
    for label in ax1.get_xticklabels():
        label.set_visible(False)
    for label in ax2.get_xticklabels():
        label.set_visible(False)
    #ax1.set_xticklabels(["","09:46:42","10:20:02",	"10:53:22",	"11:26:42"	,"13:30:02",	"14:03:22",	"14:36:42",	"15:10:02"])
    # plt.xticks(rotation=30)
    #ax1.xticks([]) 
    #ax1.xaxis.set_major_locator(ticker.MultipleLocator(5000)) 
    # ax2.xaxis.set_major_locator(ticker.MultipleLocator(5)) 
    #ax1.set_xticklabels(["","09:46:42","10:20:02",	"10:53:22",	"11:26:42"	,"13:30:02",	"14:03:22",	"14:36:42",	"15:10:02"])
    picname=d+" tradedvolume"+"-iv"
    plt.title(picname)
    
    color2 = 'tab:red'
    
    ax2.plot(x,y2,color=color2,linewidth=0.5)
    ax1.xaxis.set_ticks(['09:31:00','10:31:00','11:30:00','12:30:00','13:30:00'])
    ax1.set_xticklabels(['09:31:00','10:31:00','11:30:00','12:30:00',"13:30:00"])
    plt.legend(loc='upper right',labels=['iv'])
    picaddr="E:\\py\\05230617\\pic\\tv_"+d+"_15s.jpg"
    fig.tight_layout()
    plt.savefig(picaddr,dpi=500)
    #plt.show()
    plt.clf()
    
    return None
plt.figure(figsize=(30,16))
	name50 = 'E:\\py\\pic\\'+end_date+'50 '+expMonth1+"-"+expMonth2+".png"
    plt.plot(syn50[['sell','buy']])
    plt.legend(labels=['sell','buy'],loc='best',fontsize=20)
    i=0
    x_lst=[]
    while i<len(day_lst):
        x_lst.append(i*207)
        i=i+1
    plt.xticks(x_lst,day_lst)
    plt.title('50'+expMonth1+"-"+expMonth2,fontsize=13)
    plt.grid('True')
    plt.savefig(name50)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值