How to visualize time-intervals I have a pandas table with a start and end time for each entry. They don't intersect, but range from seconds to days. I want to visualize them, ideally the x-Axis being the date on which they occus, and the y-axis the time. However, I haven't found a good way to achieve this.

One thought I had were using Boxplots (one Box with one start and one endtime per entry) and grouping by [year, month, day], however this idea doesn't work when the interval starts and ends on a different day.
Wolfram recently released a free Wolfram Engine that can be called in Python (and other languages) so you can use its functions like TimelinePlot.

First get some dateIntervals by using the start and end dates of 2017 "TropicalStorm" hurricanes.

ec = EntityClass["TropicalStorm", "Hurricanes2017"];
timeIntervals = Interval /@ EntityValue[ec, {"StartDate", "EndDate"}];


timeIntervals contains Intervals of DateObjects. The first 3 of these are

timeIntervals[[;; 3]]



  


A basic TimelinePlot of timeIntervals gives

TimelinePlot[timeIntervals]



  


However, TimelinePlot has many options to customise it.  For example, take timeIntervals, GatherBy "Month", SortBy the first date of first interval in each set (see Part), and add an Automatic LineLegend using the "MonthShortName"s of each set as legend keys.

With[{
  byMonth = 
   SortBy[#[[1, 1, 1]] &amp;]@GatherBy[timeIntervals, DateValue[#[[1, 1]], "Month"] &amp;]
  },
 TimelinePlot[
  byMonth,
  PlotLegends -&gt; 
   LineLegend[Automatic, DateValue[#[[1, 1, 1]], "MonthNameShort"] &amp; /@ byMonth]
  ]]



  


Hope this helps.