pandas 使用Python在日期时间图上绘制标记

cu6pst1q  于 2023-06-28  发布在  Python
关注(0)|答案(1)|浏览(121)

首先,我有下面的两个 Dataframe :

  1. import pandas as pd
  2. df1= {
  3. 'date' : [
  4. '2019-03-25 19:56:29.332874+00:00',
  5. '2019-03-25 20:39:55.958678+00:00',
  6. '2019-03-25 20:40:38.057880+00:00'
  7. ],
  8. 'status' : ['buy', 'sell' ,'buy'],
  9. 'price' : ['15', '17' ,'16'],
  10. }
  11. df2= {
  12. 'date' : [
  13. '2019-03-25 19:00:00',
  14. '2019-03-25 19:30:00',
  15. '2019-03-25 20:00:00',
  16. '2019-03-25 20:30:00',
  17. '2019-03-25 21:00:00'
  18. ],
  19. 'price' : ['13', '12' ,'16', '14', '18']
  20. }
  21. df1 = pd.DataFrame(df1)
  22. df1 ['date'] = df1 ['date'].astype('datetime64')
  23. df2 = pd.DataFrame(df2)
  24. df2['date'] = df2['date'].astype('datetime64')

我想用df2画一个线图,并根据其日期和价格在df2图的顶部标记df1。我可以简单地使用这行代码来绘制折线图。

  1. plt.plot(df2,'b-')

现在,我如何在上图顶部标记df1的价格?我不介意使用seaborn,matplotlib或任何其他。

bn31dyow

bn31dyow1#

使用以下内容:

  1. plt.figure()
  2. plt.plot(df2.date, df2.price, 'o-', label = 'df2')
  3. plt.plot(df1.date, df1.price, 'o--', label = 'df1')
  4. plt.xticks(rotation=45)
  5. plt.legend()
  6. plt.tight_layout()

相关问题