打印作为其他两列matplotlib的红利的数据

2024-10-03 09:17:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我将数据分为几列,以生成一个比率,该比率保存在dataframe和csv的新列中。当我去打印子列(结果)时,它会打印来自父列和结果的数据。我想要一个简单的折线图来描述这个比率

结果是pic中的第二个子图

image

dp_sym['Ratio'] = dp_sym['Volume']/dp_sym['TotalVolume']
ax2v.plot(dp['Date'], dp['Ratio'], color='red')

我试过了

ax2v.plot(dp['Date'], (dp_sym['Volume']/dp_sym['TotalVolume']), color='red')

我也试过了

ax2v.plot(dp['Date'], dp['Ratio'].values, color='red')
每个请求的代码
 pd.DataFrame(dp1,  columns=['Date', 'Symbol', 'Volume','ShortExemptVolume', 'TotalVolume', 'Market'  ])
        
         
        dp1.set_index(dp1['Symbol'], inplace=True)
        dp_sym=dp1.loc[[sym]]
        dp_sym.reindex(dp_sym['Date'])
       
        dp_sym.drop( ['Symbol'], axis = 1, inplace=False)
        dp_sym['Volume']=pd.to_numeric( dp_sym['Volume'], errors='coerce')
        dp_sym['TotalVolume']=pd.to_numeric( dp_sym['TotalVolume'], errors='coerce')
        dp_sym['Ratio'] = dp_sym['Volume']/dp_sym['TotalVolume']
          
dp=pd.read_csv(sym+'dp.csv')
dp['Ratio'] = pd.to_numeric(dp['Ratio'], errors='coerce') dp.set_index(dp['Date'], inplace=True)
        ### candles
ax1 = plt.subplot2grid((6, 1),(0, 0), rowspan=4, colspan=1)
ax1.grid(False)
ax1.set_axisbelow(True)
ax1.set_facecolor('black')
ax1.figure.set_facecolor('#121212')
ax1.tick_params(axis='x',  colors='black')
ax1.tick_params(axis='y', color='black')

ax1.xaxis_date()
candlestick_ohlc(ax1, data.values, width=0.5, colorup='g')
ax1.plot()


#### Moving Av Lines
ax1.plot(df.index, df['50ma'], color='cyan', label='50 MA')
ax1.plot(df.index, df['200ma'], color='blue', label='200 MA')

####DP Volume 
ax2 = plt.subplot2grid((6, 1),(4, 0), rowspan=1, colspan=1, sharex=ax1)
ax2.set_facecolor('black')
dp['Date']= pd.to_datetime(dp["Date"], errors='coerce')
ax2.xaxis_date()
ax2.set_xlim([start,end])
dp['Volume']=pd.to_numeric( dp['Volume'], errors='coerce')
ax2.bar( dp['Date'], dp['Volume'], width=np.timedelta64(1, 'D'), color='g')
plt.xlabel(None)
ax2.tick_params(labelsize=8)
plt.ylabel('Volume', fontsize=8)

ax2v= ax2.twinx()
ax2v.xaxis_date()
ax2v.set_xlim([start,end])
ax2v.set_yticks([.50])
ax2v.plot(dp['Date'], dp['Ratio'], color='red')

示例csv:

Date,Symbol,Volume,ShortExemptVolume,TotalVolume,Market,Ratio
20200312,FCEL,1725933.0,102834.0,3915714.0,N,0.44077095518212006
20200311,FCEL,1163195.0,88493.0,2382881.0,N,0.4881464915788913
20200310,FCEL,1310098.0,83898.0,3076112.0,N,0.42589411568889557
20200309,FCEL,1033433.0,40251.0,2137252.0,N,0.48353352810057026
20200305,FCEL,1385871.0,3250.0,2505346.0,N,0.5531655108715523
20200304,FCEL,1162650.0,45.0,2636697.0,N,0.4409494151205087
20200303,FCEL,1865587.0,0.0,3834243.0,N,0.4865594069024837
20200302,FCEL,1589251.0,3400.0,2952977.0,N,0.5381860407310995
20200227,FCEL,2598991.0,153267.0,5279762.0,N,0.49225533272143707
20200226,FCEL,1514716.0,100.0,3371007.0,N,0.44933635557564844
20200225,FCEL,1588957.0,84078.0,3297185.0,N,0.48191320778178964
20200224,FCEL,1801938.0,184081.0,3986659.0,N,0.4519920063391426
20200220,FCEL,3572731.0,85325.0,6916267.0,N,0.516569270677375
        

Tags: todateplotcolordppdsetratio