SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
(3)
Jun
Jul
Aug
(12)
Sep
(12)
Oct
(56)
Nov
(65)
Dec
(37)
2004 Jan
(59)
Feb
(78)
Mar
(153)
Apr
(205)
May
(184)
Jun
(123)
Jul
(171)
Aug
(156)
Sep
(190)
Oct
(120)
Nov
(154)
Dec
(223)
2005 Jan
(184)
Feb
(267)
Mar
(214)
Apr
(286)
May
(320)
Jun
(299)
Jul
(348)
Aug
(283)
Sep
(355)
Oct
(293)
Nov
(232)
Dec
(203)
2006 Jan
(352)
Feb
(358)
Mar
(403)
Apr
(313)
May
(165)
Jun
(281)
Jul
(316)
Aug
(228)
Sep
(279)
Oct
(243)
Nov
(315)
Dec
(345)
2007 Jan
(260)
Feb
(323)
Mar
(340)
Apr
(319)
May
(290)
Jun
(296)
Jul
(221)
Aug
(292)
Sep
(242)
Oct
(248)
Nov
(242)
Dec
(332)
2008 Jan
(312)
Feb
(359)
Mar
(454)
Apr
(287)
May
(340)
Jun
(450)
Jul
(403)
Aug
(324)
Sep
(349)
Oct
(385)
Nov
(363)
Dec
(437)
2009 Jan
(500)
Feb
(301)
Mar
(409)
Apr
(486)
May
(545)
Jun
(391)
Jul
(518)
Aug
(497)
Sep
(492)
Oct
(429)
Nov
(357)
Dec
(310)
2010 Jan
(371)
Feb
(657)
Mar
(519)
Apr
(432)
May
(312)
Jun
(416)
Jul
(477)
Aug
(386)
Sep
(419)
Oct
(435)
Nov
(320)
Dec
(202)
2011 Jan
(321)
Feb
(413)
Mar
(299)
Apr
(215)
May
(284)
Jun
(203)
Jul
(207)
Aug
(314)
Sep
(321)
Oct
(259)
Nov
(347)
Dec
(209)
2012 Jan
(322)
Feb
(414)
Mar
(377)
Apr
(179)
May
(173)
Jun
(234)
Jul
(295)
Aug
(239)
Sep
(276)
Oct
(355)
Nov
(144)
Dec
(108)
2013 Jan
(170)
Feb
(89)
Mar
(204)
Apr
(133)
May
(142)
Jun
(89)
Jul
(160)
Aug
(180)
Sep
(69)
Oct
(136)
Nov
(83)
Dec
(32)
2014 Jan
(71)
Feb
(90)
Mar
(161)
Apr
(117)
May
(78)
Jun
(94)
Jul
(60)
Aug
(83)
Sep
(102)
Oct
(132)
Nov
(154)
Dec
(96)
2015 Jan
(45)
Feb
(138)
Mar
(176)
Apr
(132)
May
(119)
Jun
(124)
Jul
(77)
Aug
(31)
Sep
(34)
Oct
(22)
Nov
(23)
Dec
(9)
2016 Jan
(26)
Feb
(17)
Mar
(10)
Apr
(8)
May
(4)
Jun
(8)
Jul
(6)
Aug
(5)
Sep
(9)
Oct
(4)
Nov
Dec
2017 Jan
(5)
Feb
(7)
Mar
(1)
Apr
(5)
May
Jun
(3)
Jul
(6)
Aug
(1)
Sep
Oct
(2)
Nov
(1)
Dec
2018 Jan
Feb
Mar
Apr
(1)
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2020 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025 Jan
(1)
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S




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

Showing 4 results of 4

From: Simson G. <si...@ac...> - 2009年01月02日 22:18:54
Hi. I found a bug in the macos backend.
I get this error when I turn on log plotting on the Y axes; it doesn't 
happen when I turn off log plotting. It also doesn't happen when I use 
agg.pdf driver.
Is this a well-known problem, or should I put together a little demo 
that demonstrates it?
Traceback (most recent call last):
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/figure.py", line 772, in draw
 for a in self.axes: a.draw(renderer)
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/axes.py", line 1601, in draw
 a.draw(renderer)
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/axis.py", line 710, in draw
 tick.draw(renderer)
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/axis.py", line 193, in draw
 self.label1.draw(renderer)
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/text.py", line 502, in draw
 ismath=ismath)
 File "/Library/Frameworks/Python.framework/Versions/2.6/lib/ 
python2.6/site-packages/matplotlib/backends/backend_macosx.py", line 
120, in draw_text
 self._draw_mathtext(gc, x, y, s, prop, angle)
 File "/Librrks/Python.framework/Versions/2.6/lib/python2.6/site- 
packages/matplotlib/backends/backend_macosx.py", line 112, in 
_draw_mathtext
 gc.draw_mathtext(x, y, angle, 255 - image.as_array())
TypeError: image has incorrect type (should be uint8)
From: Michael D. <md...@st...> - 2009年01月02日 17:59:59
Eric Firing wrote:
> Michael Droettboom wrote:
>> This is a very good test to have -- we should add it to 
>> backend_driver.py.
>>
>> FWIW, SVG appears to behave similarly to PDF, and has a "miter-limit" 
>> property to control when to bevel vs. miter when the mode is set to 
>> "miter". (Though the default threshold appears to be different.) I 
>> didn't look into Ps, but it may have a similar configuration.
>>
>> Agg also has a miter limit (which is not currently settable from 
>> Python), but it reverts to what it calls "smart" beveling, rather 
>> than regular beveling when below that limit. It does, however, have 
>> another miter mode called "miter_join_revert" which doesn't do smart 
>> beveling. (Try the "conv_stroke" example in the Agg source). In 
>> fact, it has this comment associated with it (agg_math_stroke.h:275):
>>
>> // For the compatibility with SVG, PDF, etc,
>> // we use a simple bevel join instead of
>> // "smart" bevel
>>
>> I think there is an argument to be made that we should use this mode 
>> instead in the Agg backend, to be consistent with PDF and SVG (see 
>> patch below).
>>
>> On a higher level, however, I am a bit concerned about this miter 
>> limit concept. It seems a bit dangerous for scientific plots: there 
>> is a large change in the look of the corner after only a small change 
>> in angle around the miter limit threshold. It may make the data 
>> appear to have large changes where in fact the changes are small. 
>> This seems like an argument of "bevel" or "round" as the default line 
>> join (it is currently "miter"). I also like the idea of "round" join 
>> keeping the corner close to the actual data point.
>>
>> Now, if the user wants miter joins, they can, but I would suggest 
>> that we set the miter-limit threshold in all backends high enough 
>> such that it "always miters" and "never bevels". I can't see why 
>> (for other than artistic purposes), one would want to sometimes miter 
>> or bevel depending on angle in a scientific plot. We can expose 
>> miter limit as a parameter somehow, but for a default, I think it 
>> should be "always miter". What do you think?
>
> Everything you said above sounds right to me, for plotting data--round 
> joins are likely to provide a good combination of aesthetics and 
> faithfulness to the data. Miters are needed for things like arrows 
> (e.g. in quiver), and pcolor patches.
>
Good "point" (pun intended). If we change the default from miter, we 
will need to ensure that arrows etc. are explicitly asking for miter joins.
Cheers,
Mike
From: Eric F. <ef...@ha...> - 2009年01月02日 17:37:09
Michael Droettboom wrote:
> This is a very good test to have -- we should add it to backend_driver.py.
> 
> FWIW, SVG appears to behave similarly to PDF, and has a "miter-limit" 
> property to control when to bevel vs. miter when the mode is set to 
> "miter". (Though the default threshold appears to be different.) I 
> didn't look into Ps, but it may have a similar configuration.
> 
> Agg also has a miter limit (which is not currently settable from 
> Python), but it reverts to what it calls "smart" beveling, rather than 
> regular beveling when below that limit. It does, however, have another 
> miter mode called "miter_join_revert" which doesn't do smart beveling. 
> (Try the "conv_stroke" example in the Agg source). In fact, it has this 
> comment associated with it (agg_math_stroke.h:275):
> 
> // For the compatibility with SVG, PDF, etc,
> // we use a simple bevel join instead of
> // "smart" bevel
> 
> I think there is an argument to be made that we should use this mode 
> instead in the Agg backend, to be consistent with PDF and SVG (see patch 
> below).
> 
> On a higher level, however, I am a bit concerned about this miter limit 
> concept. It seems a bit dangerous for scientific plots: there is a 
> large change in the look of the corner after only a small change in 
> angle around the miter limit threshold. It may make the data appear to 
> have large changes where in fact the changes are small. This seems like 
> an argument of "bevel" or "round" as the default line join (it is 
> currently "miter"). I also like the idea of "round" join keeping the 
> corner close to the actual data point.
> 
> Now, if the user wants miter joins, they can, but I would suggest that 
> we set the miter-limit threshold in all backends high enough such that 
> it "always miters" and "never bevels". I can't see why (for other than 
> artistic purposes), one would want to sometimes miter or bevel depending 
> on angle in a scientific plot. We can expose miter limit as a parameter 
> somehow, but for a default, I think it should be "always miter". What 
> do you think?
Mike,
Everything you said above sounds right to me, for plotting data--round 
joins are likely to provide a good combination of aesthetics and 
faithfulness to the data. Miters are needed for things like arrows 
(e.g. in quiver), and pcolor patches.
Eric
> 
> Cheers,
> Mike
> 
> Index: _backend_agg.cpp
> ===================================================================
> --- _backend_agg.cpp (revision 6731)
> +++ _backend_agg.cpp (working copy)
> @@ -209,7 +209,7 @@
> std::string joinstyle = Py::String( gc.getAttr("_joinstyle") );
> 
> if (joinstyle=="miter")
> - join = agg::miter_join;
> + join = agg::miter_join_revert;
> else if (joinstyle=="round")
> join = agg::round_join;
> else if(joinstyle=="bevel")
> 
> Jouni K. Seppänen wrote:
>> Michael Droettboom <md...@st...>
>> writes:
>>
>> 
>>> Passing solid_joinstyle='bevel' does resolve the problem on both 0.91.x 
>>> and 0.98.x. Additionally, path simplification (which is a new feature 
>>> on 0.98.x) also resolves this problem (set rcParam path.simplify to True).
>>> 
>> It seems that agg and pdf have different ways to render small angles
>> when the join style is 'miter'. Pdf has a limit (settable in the pdf
>> file) beyond which it reverts to bevel-style angles, agg seems to always
>> do the miter join but cuts it off at some distance.
>>
>> Here's a test script, and screenshots of (a part of) the agg and pdf
>> outputs when the join style is 'miter'.
>>
>> 
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------
>>
>> ------------------------------------------------------------------------------
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Michael D. <md...@st...> - 2009年01月02日 15:24:43
This is a very good test to have -- we should add it to backend_driver.py.
FWIW, SVG appears to behave similarly to PDF, and has a "miter-limit" 
property to control when to bevel vs. miter when the mode is set to 
"miter". (Though the default threshold appears to be different.) I 
didn't look into Ps, but it may have a similar configuration.
Agg also has a miter limit (which is not currently settable from 
Python), but it reverts to what it calls "smart" beveling, rather than 
regular beveling when below that limit. It does, however, have another 
miter mode called "miter_join_revert" which doesn't do smart beveling. 
(Try the "conv_stroke" example in the Agg source). In fact, it has this 
comment associated with it (agg_math_stroke.h:275):
 // For the compatibility with SVG, PDF, etc,
 // we use a simple bevel join instead of
 // "smart" bevel
I think there is an argument to be made that we should use this mode 
instead in the Agg backend, to be consistent with PDF and SVG (see patch 
below).
On a higher level, however, I am a bit concerned about this miter limit 
concept. It seems a bit dangerous for scientific plots: there is a 
large change in the look of the corner after only a small change in 
angle around the miter limit threshold. It may make the data appear to 
have large changes where in fact the changes are small. This seems like 
an argument of "bevel" or "round" as the default line join (it is 
currently "miter"). I also like the idea of "round" join keeping the 
corner close to the actual data point.
Now, if the user wants miter joins, they can, but I would suggest that 
we set the miter-limit threshold in all backends high enough such that 
it "always miters" and "never bevels". I can't see why (for other than 
artistic purposes), one would want to sometimes miter or bevel depending 
on angle in a scientific plot. We can expose miter limit as a parameter 
somehow, but for a default, I think it should be "always miter". What 
do you think?
Cheers,
Mike
Index: _backend_agg.cpp
===================================================================
--- _backend_agg.cpp (revision 6731)
+++ _backend_agg.cpp (working copy)
@@ -209,7 +209,7 @@
 std::string joinstyle = Py::String( gc.getAttr("_joinstyle") );
 
 if (joinstyle=="miter")
- join = agg::miter_join;
+ join = agg::miter_join_revert;
 else if (joinstyle=="round")
 join = agg::round_join;
 else if(joinstyle=="bevel")
Jouni K. Seppänen wrote:
> Michael Droettboom <md...@st...>
> writes:
>
> 
>> Passing solid_joinstyle='bevel' does resolve the problem on both 0.91.x 
>> and 0.98.x. Additionally, path simplification (which is a new feature 
>> on 0.98.x) also resolves this problem (set rcParam path.simplify to True).
>> 
>
> It seems that agg and pdf have different ways to render small angles
> when the join style is 'miter'. Pdf has a limit (settable in the pdf
> file) beyond which it reverts to bevel-style angles, agg seems to always
> do the miter join but cuts it off at some distance.
>
> Here's a test script, and screenshots of (a part of) the agg and pdf
> outputs when the join style is 'miter'.
>
> 
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> ------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Showing 4 results of 4

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 によって変換されたページ (->オリジナル) /