如何沿 X 轴绘制“_”对象但改变 Y 轴上的值?(在 python、matplotlib、pandas 中)

how to plot "_" objects along the X axis but varying the values ​on the Y axis ?(in python, matplotlib, pandas)

我有两个数据帧A和B,我想在数据帧A图中绘制数据帧B的值,两者共享相同的索引,但是在y点两个“_”对象将放置一个向上两个点并且其他2点下来他们在Y中的共享值,怎么办?

图片是这样的=

数据帧: 数据框 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","2015-09-01","2015-09-11","2015-09-14"],
"val":[112.760002,107.720001,114.209999,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'],format='%Y-%m-%d', 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,marker="_",s=30,facecolor='green')

plt.show()

结果: