SourceForge logo
SourceForge logo
Menu

matplotlib-devel — matplotlib developers

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
(1)
Nov
(33)
Dec
(20)
2004 Jan
(7)
Feb
(44)
Mar
(51)
Apr
(43)
May
(43)
Jun
(36)
Jul
(61)
Aug
(44)
Sep
(25)
Oct
(82)
Nov
(97)
Dec
(47)
2005 Jan
(77)
Feb
(143)
Mar
(42)
Apr
(31)
May
(93)
Jun
(93)
Jul
(35)
Aug
(78)
Sep
(56)
Oct
(44)
Nov
(72)
Dec
(75)
2006 Jan
(116)
Feb
(99)
Mar
(181)
Apr
(171)
May
(112)
Jun
(86)
Jul
(91)
Aug
(111)
Sep
(77)
Oct
(72)
Nov
(57)
Dec
(51)
2007 Jan
(64)
Feb
(116)
Mar
(70)
Apr
(74)
May
(53)
Jun
(40)
Jul
(519)
Aug
(151)
Sep
(132)
Oct
(74)
Nov
(282)
Dec
(190)
2008 Jan
(141)
Feb
(67)
Mar
(69)
Apr
(96)
May
(227)
Jun
(404)
Jul
(399)
Aug
(96)
Sep
(120)
Oct
(205)
Nov
(126)
Dec
(261)
2009 Jan
(136)
Feb
(136)
Mar
(119)
Apr
(124)
May
(155)
Jun
(98)
Jul
(136)
Aug
(292)
Sep
(174)
Oct
(126)
Nov
(126)
Dec
(79)
2010 Jan
(109)
Feb
(83)
Mar
(139)
Apr
(91)
May
(79)
Jun
(164)
Jul
(184)
Aug
(146)
Sep
(163)
Oct
(128)
Nov
(70)
Dec
(73)
2011 Jan
(235)
Feb
(165)
Mar
(147)
Apr
(86)
May
(74)
Jun
(118)
Jul
(65)
Aug
(75)
Sep
(162)
Oct
(94)
Nov
(48)
Dec
(44)
2012 Jan
(49)
Feb
(40)
Mar
(88)
Apr
(35)
May
(52)
Jun
(69)
Jul
(90)
Aug
(123)
Sep
(112)
Oct
(120)
Nov
(105)
Dec
(116)
2013 Jan
(76)
Feb
(26)
Mar
(78)
Apr
(43)
May
(61)
Jun
(53)
Jul
(147)
Aug
(85)
Sep
(83)
Oct
(122)
Nov
(18)
Dec
(27)
2014 Jan
(58)
Feb
(25)
Mar
(49)
Apr
(17)
May
(29)
Jun
(39)
Jul
(53)
Aug
(52)
Sep
(35)
Oct
(47)
Nov
(110)
Dec
(27)
2015 Jan
(50)
Feb
(93)
Mar
(96)
Apr
(30)
May
(55)
Jun
(83)
Jul
(44)
Aug
(8)
Sep
(5)
Oct
Nov
(1)
Dec
(1)
2016 Jan
Feb
Mar
(1)
Apr
May
Jun
(2)
Jul
Aug
(3)
Sep
(1)
Oct
(3)
Nov
Dec
2017 Jan
Feb
(5)
Mar
Apr
May
Jun
Jul
(3)
Aug
Sep
(7)
Oct
Nov
Dec
2018 Jan
Feb
Mar
Apr
May
Jun
Jul
(2)
Aug
Sep
Oct
Nov
Dec
S M T W T F S


1
(1)
2
(1)
3
(3)
4
(2)
5
6
7
(8)
8
9
10
(3)
11
(2)
12
(2)
13
(2)
14
(6)
15
(1)
16
17
18
(8)
19
(1)
20
(9)
21
22
(6)
23
(1)
24
(13)
25
(8)
26
(5)
27
(3)
28
(7)
29
(4)
30



Showing 3 results of 3

From: John H. <jd...@gm...> - 2008年04月27日 22:37:38
On Sun, Apr 27, 2008 at 3:14 AM, Eric Firing <ef...@ha...> wrote:
> 1) The hline generated by frac is too long with dpi=50.
The problem with the hline appears to be that the width of the line in
the frac has a component that depends on the thickness
 thickness = state.font_output.get_underline_thickness(
 state.font, state.fontsize, state.dpi)
 width = max(num.width, den.width) + thickness * 10.
and get_underline_thickness here is defaulting to 1.0 because of this
max call in get_underline_thickness
 return max(1.0, cached_font.font.underline_thickness / 64.0 /
fontsize * 10.0)
Michael -- what is the role of these 10.0 scale factors, which is
showing up in both the frac call and the get_underline_thickness? Is
this something from Knuth, or is it a fudge factor that gets it mostly
right? I suspect we will need something like
 width = max(num.width, den.width) + thickness * 10. * state.dpi/72.
but with this change the frac bar looks a little too wide -- which is
why I'm wondering if there is something magic about 10. or if another
number might serve better.
> Along the way, I found that in backend_bases, print_figure was doing what
> appears to be a completely unnecessary draw operation after restoring the
> original dpi, so I commented that out. This speeds up backend_driver.py agg
> by a few percent.
I think you are right here -- because we are creating a new
FigureCanvas and hence a new renderer in the switch_backend call we do
not need to redraw the original figure with the original facecolor,
edgecolor and dpi params. In older versions of mpl, if memory serves
correctly, calling savefig would reuse the same renderer so after the
print to hardcopy we would redraw so the figure in the GUI window
would look right. But I agree this looks superfluous in light of the
current code which is creating a new canvas with each savefig.
JDH
From: Eric F. <ef...@ha...> - 2008年04月27日 17:56:22
Attachments: q1.py
Eric Firing wrote:
> John,
> 
> I made some more changes in quiver, and I think they will ensure that 
> dpi changes are handled correctly as far as arrows are concerned, both 
> in the plot and in the key.
> 
> There is still a problem with the key label, and it can be seen clearly 
> in the attached slight modification of quiver_demo.py. There are 
> actually two visible problems:
> 
> 1) The hline generated by frac is too long with dpi=50.
> 
> 2) The positioning and sizing of the key bbox are also dpi-dependent, as 
> I verified by using your bbox-display trick.
The plot thickens. The postscript backend is completely confused by the 
quiver plot. Try the attached example.
pdf seems OK.
Eric
From: Eric F. <ef...@ha...> - 2008年04月27日 08:31:08
Attachments: quiver_print.py
John,
I made some more changes in quiver, and I think they will ensure that 
dpi changes are handled correctly as far as arrows are concerned, both 
in the plot and in the key.
There is still a problem with the key label, and it can be seen clearly 
 in the attached slight modification of quiver_demo.py. There are 
actually two visible problems:
1) The hline generated by frac is too long with dpi=50.
2) The positioning and sizing of the key bbox are also dpi-dependent, as 
I verified by using your bbox-display trick.
I went hunting through text.py, mathtext.py, backend_bases, and 
backend_agg without figuring out where the problem is. The right dpi 
seems to be getting used at mathtext parsing time. Maybe it is not 
actually getting propagated all the way into the code that gets the font 
metrics. I did not try to trace it that far.
Along the way, I found that in backend_bases, print_figure was doing 
what appears to be a completely unnecessary draw operation after 
restoring the original dpi, so I commented that out. This speeds up 
backend_driver.py agg by a few percent.
Eric
John Hunter wrote:
> On Sat, Apr 26, 2008 at 2:04 PM, Eric Firing <ef...@ha...> wrote:
> 
>> The attached script, run on svn mpl, illustrates a positioning problem: note
>> that the subplot titles are badly positioned in the 50 dpi version. I
>> believe that changing from 150 to 50 dpi should yield a perfect scaling of
>> everything in the plot, but it doesn't. There is a similar problem with a
>> quiver key positioned outside the axes frame, but I don't have a trivial
>> example yet; I am hoping that whatever solves the title positioning problem
>> will take care of that also. If not, I will make a simple example and we
>> can attack it separately.
> 
> There were two problems with title positioning. The first was that
> the title offset transformation was hardcoded in pixels and not dpi,
> and the second was that is was not getting notifed when the figure dpi
> was changed. I changed the offset to read:
> 
> self.titleOffsetTrans = mtransforms.Affine2D().translate(
> 0.0, 5.0*self.figure.dpi/72.)
> 
> and added a callbacks registry to the figure instance so that
> observers could be notified when dpi was changed (dpi used to be a
> lazy value on the maintenance branch but is a plain-ol-value on the
> trunk).
> 
> def on_dpi_change(fig):
> self.titleOffsetTrans.clear().translate(
> 0.0, 5.0*fig.dpi/72.)
> 
> self.figure.callbacks.connect('dpi_changed', on_dpi_change)
> 
> It looks like the problem in the quiver code is that the "labelsep"
> property reads the dpi when the QuiverKey is intiitalized but does not
> get notified on dpi change. I added a callback there too so you
> should test to see if this helps. The dpi setting is also referenced
> in the _set_transform method. Since you are more familiar with the
> quiver code that I am, and this hint may point you in the right
> direction, I'll let you take a look at that and see if a callback is
> needed.
> 
> On a related note, one trick I use when debugging text layout problems
> is to turn on the "bbox". If the bbox is right but the text is in the
> wrong place, you know it is in the layout. If the bbox is in the
> wrong place, you know the problem is in the font metrics:
> 
> boxprops = dict(facecolor='red')
> ax1.set_title('Top Plot', bbox=boxprops)
> 
> JDH

Showing 3 results of 3

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /