From: John H. <jdh...@ac...> - 2005-11-19 13:40:35
|
>>>>> "Christian" == Christian David Ott <chr...@gm...> writes: Christian> Hi, sorry about my previous e-mail. I have now tried Christian> the same with 0.85. The tick marks are now by default Yep, the axisbelow property was just added in 0.85 and this controls whether the ticks and grid lines are drawn above or below your data lines. Christian> on top of the data graphs while the axes lines (please Christian> correct my vocabulary usage here, axes lines = figure Christian> frame?) are still below. I see the source of our previous confusion -- matplotlib has a figure patch and an axes patch. The figure patch controls the backgroud of the entire figure canvas and the frame of this borders your window or paper. The axes patch is the thing surrounding the subplot/axes (eg the white area where your data are). I think in your previous emails when you referred to the "figure frame" you meant the axes frame. In which case you would use subplot(111, frameon=False) Christian> To get the figure frame drawn on top of everything, one Christian> has to modify axes.draw. Namely, one adds to Christian> these 4 lines: Christian> if self.axison: if self._frameon: Christian> self.axesPatch.set_fill(False) Christian> self.axesPatch.draw(renderer) So basically, you want a second draw of the axespatch edge over the ticks. Could you post a script w/o these changes that shows the undesirable effect, so I can see better what the problem is. I worry that doing two draws of the axes patch, one w/ the fill first and one w/o the fill later will screw up the alpha channel of the edgecolor of the axes patch. Albeit a corner case. JDH |