python - 绘制时间线突出显示 DataFrame 中存在的特定值
问题描述
我有以下内容df
:
df1 :
index Event1 Event2 Event3 Event4 Event5 Event6
2000-01-01 1 1 1 1 1 1
2000-01-02 nan nan nan nan nan nan
2000-01-03 nan nan nan nan nan nan
2000-01-04 nan nan nan nan nan nan
2000-01-05 nan nan nan nan nan nan
(...)
2000-02-03 1 nan 1 nan 1 1
2000-02-04 nan nan nan nan nan nan
2000-02-05 nan nan nan nan nan nan
2000-02-06 nan nan nan nan nan nan
2000-02-07 nan nan nan nan nan nan
(...)
2020-08-03 nan nan nan nan nan nan
2020-08-05 nan nan nan nan nan nan
2020-08-07 nan nan nan nan nan nan
2020-08-10 nan 1 nan 1 nan nan
2020-08-13 nan nan nan nan nan nan
这df
表示某个事件是否在指定的日期发生。
如果1的第一列中 有1df
作为值,则 event1 发生在该日期,依此类推。
我需要的是绘制这个,就像一个时间线,显示事件发生的时间。我尝试构建一个散点图,显示值,但它真的很糟糕。像这样的东西会很好: 如果你们能指出我的任何方向......
我在以下链接中查找,但找不到这样做的方法:
观察:
- DataFrame 本身很大,包含 20 年的 Data。我相信我将无法以合适的分辨率绘制单个图像,但我可以将 DataFrame 分解为较小的图像,然后单独绘制。
- 我不需要每个日期都在我的 y 轴上,但差距也不能太宽。
- 在每一列中,一个事件与另一个事件之间至少有一个月的间隔。
- 不一定,事件发生在月初。
- 这些事件发生在同一日期,但有些可能没有发生。
解决方案
您是否尝试使用带有情节的时间线情节或带有 seaborn 的条状情节?
https://plotly.com/python/gantt/
https://seaborn.pydata.org/generated/seaborn.stripplot.html?highlight=stripplot#seaborn.stripplot
在绘制 df 之前,您可能需要对其进行一些预处理操作。
推荐阅读
- javascript - 下拉按钮显示一个空白行。我该如何解决这个问题?
- json - 什么是正确的 AWSJSON?
- node.js - 无效参数:null - AWS S3 putObject
- r - 在 R 中将 dataTableOutput 和绘图链接到 Shiny
- python - 解决方案对象的 kpi_value_by_name 方法的 Docplex 错误
- snowflake-cloud-data-platform - 将数据插入雪花
- python - 根据最近的 tstamp 将 df 的一行合并到另一个 df 的多个重复 tstamp 行
- javascript - 如何在 jquery 中访问动态创建的表格单元格?
- python - VSCode 上的 Pylint 突出显示和悬停错误
- javascript - nuxt/auth 如何真正安全?