Skip to main content
5 of 12
added 189 characters in body
kglr
  • 400.5k
  • 18
  • 488
  • 929

This is clearly a bug.

A work-around is to post-process the output to fix the fence lines:

ClearAll[repairFences]
repairFences = Replace[#,  Line[x_] /; Length[Dimensions@x] ==  3 :>
    (Line[Thread[{#[[;; 2, 2, 1]], #[[1, 1, 2]]}]] & /@ Partition[x, 2]), All] &;

repairFences @ 
   ListLogPlot[Table[{i, Around[1 + Sin[i], 0.1 + 0.1 Cos[i]]}, {i, 0, 10,  1.0}],
       PlotRange -> {All, {0.01, 10}},
       IntervalMarkers -> "Fences",
       IntervalMarkersStyle -> <|"FenceWidth" -> .3|>
       ] 

enter image description here

An alternative work-around is to remove IntervalMarkersStyle -> <|"FenceWidth" -> .3|> and post-process to modify the fence lines to desired length:

llp2 = ListLogPlot[Table[{i, Around[1 + Sin[i], 0.1 + 0.1 Cos[i]]}, {i, 0, 10, 1.0}],
     PlotRange -> {All, {0.01, 10}}, IntervalMarkers -> "Fences" ] 

Make fences 20 printer's points long:

llp2 /. Offset[{a_, _}, b_] :> Offset[{10 Sign[a] , 0}, b]

enter image description here

Make fences .3 user units long:

llp2 /. Offset[{a_, _}, {b_, c_}] :> {b + .15 Sign[a], c}

enter image description here

kglr
  • 400.5k
  • 18
  • 488
  • 929