使用Dataframe.plot函数在pandas时间序列上添加任意点

时间:2016-08-23 15:18:52

标签: pandas time-series

我一直在尝试使用pandas dataframe plot函数绘制一些时间序列图。我试图在图上的某些任意点添加标记以显示异常点。我使用的代码:

df1 = pd.DataFrame({'Entropy Values' : MeanValues}, index=DateRange)
df1.plot(linestyle = '-')

enter image description here

我有一个日期列表,我需要在其上添加标记。例如:

Dates = ['15:45:00', '15:50:00', '15:55:00', '16:00:00']

我查看了这个链接matplotlib: Set markers for individual points on a line。 DF.plot是否具有类似的功能?

我真的很感激帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

DataFrame.plot将所有无法识别的关键字参数传递给matplotlib绘图方法。要将标记放在图中的几个点上,可以使用markevery参数。这是一个例子:

import pandas as pd

df = pd.DataFrame({'A': range(10), 'B': range(10)}).set_index('A')
df.plot(linestyle='-', markevery=[1, 5, 7, 8], marker='o', markerfacecolor='r')

Example plot

在您的情况下,您必须执行类似

的操作
df1.plot(linestyle='-', markevery=Dates, marker='o', markerfacecolor='r')