我在Pandas数据框中有一些时间序列数据,我可以将其可视化如下:
import pandas as pd
d = {'end_time': [datetime.datetime(2020, 3, 17, 0, 0), datetime.datetime(2020, 3, 17, 0, 5), datetime.datetime(2020, 3, 17, 0, 10), datetime.datetime(2020, 3, 17, 0, 15), datetime.datetime(2020, 3, 17, 0, 20), datetime.datetime(2020, 3, 17, 0, 25), datetime.datetime(2020, 3, 17, 0, 30), datetime.datetime(2020, 3, 17, 0, 35), datetime.datetime(2020, 3, 17, 0, 40), datetime.datetime(2020, 3, 17, 0, 45), datetime.datetime(2020, 3, 17, 0, 50), datetime.datetime(2020, 3, 17, 0, 55)], "measurement": [2000, 1500, 800, 900, 400, 4000, 300, 900, 1000, 1250, 1100, 1300], "reliability": [99, 81, 84, 85, 99, 86, 96, 97, 98, 99, 98, 97]}
# select some relevant columns
subset_df = pd.DataFrame.from_dict(d)
# plot measurements over time
subset_df.plot('end_time', 'measurement')
reliability
列是0
和100
之间的一个数字。我想做的是突出显示可靠性分数低于95的区域。因此,我可以在这些区域周围覆盖一个透明框,以直观地突出显示测量结果可能不太可靠的区域。
1条答案
按热度按时间ctrmrzij1#
考虑这个随机 Dataframe ,其中
end_time
:从2020-03-17 00:00:00
到2020-03-17 00:55:00
的日期,以5
分钟为间隔measurement
:介于300
和4000
之间的随机整数reliability
:介于0
和100
之间的随机整数如果目标是将
reliability
小于95
的所有测量标绘为红色,其余的标绘为蓝色,那么让我们首先创建一些有用的变量:measurement
,其中reliability
低于95
:measurement
的end_time
,其中reliability
低于95
:measurement
与高于95:measurement
的end_time
与高于95
的reliability
:现在让我们创建情节
现在,根据要求(
use fill_between so that I can paint a transparent box from the x-axes to the top of y-axes
),在plt.show()
之前,可以使用以下内容