问题描述
我有两个数据框A和B,我想在数据框A图中绘制数据框B的值,它们共享相同的索引,但是在y点中,两个``_''对象将被放置在两个点上,另一个他们在Y中分享的价值下降了2点,怎么办?
看起来像图像=
数据帧: 数据框A
Date
2015-08-31 112.760002
2015-09-01 107.720001
2015-09-02 112.339996
2015-09-03 110.370003
2015-09-04 109.269997
2015-09-08 112.309998
2015-09-09 110.150002
2015-09-10 112.570000
2015-09-11 114.209999
2015-09-14 115.309998
DATAFRAME B
Close
2015-08-31 112.760002
2015-09-01 107.720001
2015-09-02 112.339996
2015-09-08 112.309998
解决方法
不确定要完全理解您的期望,但是您应该可以使用以下方法进行管理:
import pandas as pd
import matplotlib.pyplot as plt
data_a={"date":["2015-08-31","2015-09-01","2015-09-02","2015-09-03","2015-09-04","2015-09-08","2015-09-09","2015-09-10","2015-09-11","2015-09-14"],"val":[112.760002,107.720001,112.339996,110.370003,109.269997,112.309998,110.150002,112.570000,114.209999,115.309998]}
data_b={"date":["2015-08-31",115.309998]}
df_a=pd.DataFrame(data_a)
df_b= pd.DataFrame(data_b)
df_a['date']=pd.to_datetime(df_a['date'],format='%Y-%m-%d',errors='ignore')
df_b['date']=pd.to_datetime(df_b['date'],errors='ignore')
fig,ax = plt.subplots()
ax.plot(df_a['date'],df_a["val"],color='red')
ax.scatter(df_b['date'],df_b["val"]-1,marker="_",s=30,facecolor='green')
ax.scatter(df_b['date'],df_b["val"]+1,facecolor='green')
plt.show()