タイムラインのレイアウトとラベルの配置
ロマン派の著名人のタイムラインを生成する.
In[1]:=

romanticerapeople = 
  DeleteCases[
   EntityValue[
    Entity["HistoricalPeriod", "RomanticEra"][
     "PeopleInvolved"], {"BirthDate", "DeathDate", "Name", "Image", 
     "Occupation"}], {__, _Missing}];In[2]:=

lifespan = 
  GroupBy[romanticerapeople, 
   Last -> (Tooltip[
       Labeled[Interval@#[[1 ;; 2]], #[[3]], "StartBubble"], 
       Labeled[#[[4]], DateDifference[#[[1]], #[[2]], "Year"]]] &)];各作曲家を別々の行で表示する.
In[3]:=

TimelinePlot[lifespan[{"composer"}], PlotLayout -> "Stacked", 
 LabelStyle -> 12, ImageSize -> 550, 
 PlotLabel -> "Romantic Era Composers", PlotTheme -> "Grid"]Out[3]=

行数を最少にする.
In[4]:=

TimelinePlot[lifespan[{"composer"}], PlotLayout -> "Grouped", 
 LabelStyle -> 12, ImageSize -> 550, 
 PlotLabel -> "Romantic Era Composers", PlotTheme -> "Grid"]Out[4]=

各作曲家が亡くなった年に名前のラベルを置く.
In[5]:=

lifespan = 
  GroupBy[romanticerapeople, 
   Last -> (Tooltip[
       Labeled[Interval@#[[1 ;; 2]], #[[3]], "EndBubble"], 
       Labeled[#[[4]], DateDifference[#[[1]], #[[2]], "Year"]]] &)];In[6]:=
TimelinePlot[lifespan[{"composer"}], LabelStyle -> 12, 
 ImageSize -> 550, PlotLabel -> "Romantic Era Composers", 
 PlotTheme -> "Grid"]Out[6]=

データ項目が多く,スペースが限られている場合は,それぞれのタイムラインの最後にラベルを置く.
In[7]:=

lifespan = 
  GroupBy[romanticerapeople, 
   Last -> (Tooltip[Labeled[Interval@#[[1 ;; 2]], #[[3]], After], 
       Labeled[#[[4]], DateDifference[#[[1]], #[[2]], "Year"]]] &)];In[8]:=

TimelinePlot[Values@lifespan, PlotLayout -> "Grouped", 
 LabelStyle -> 14, AspectRatio -> 1/1.2, ImageSize -> 450, 
 PlotLegends -> 
  LineLegend[Flatten@Keys[lifespan], 
   LegendLayout -> "ReversedColumn"], PlotTheme -> "Web"]Out[8]=

このデータ集合に「Packed」というレイアウトを使う.
In[9]:=

TimelinePlot[Values@lifespan, PlotLayout -> "Packed", 
 LabelStyle -> 14, AspectRatio -> 1/1.2, ImageSize -> 450, 
 PlotLegends -> 
  LineLegend[Flatten@Keys[lifespan], 
   LegendLayout -> "ReversedColumn"], PlotTheme -> "Web"]Out[9]=
