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




Showing 7 results of 7

From: Friedrich R. <fri...@gm...> - 2010年08月09日 20:40:50
2010年8月6日 Benjamin Root <ben...@ou...>:
> Actually, I have been looking at a somewhat related problem. It might be a
> useful feature in matplotlib.color to provide a function that can take a
> colormap and produce a grayscale version of it. In my limited amount of
> research, I have found that one could convert the rgb values into hsv or hsl
> and use the "value" or "lightness" respectively for the grayscale value. I
> forget which one was aesthetically better, though.
http://www.pythonware.com/library/pil/handbook/image.htm :
"When from a colour image to black and white, the library uses the
ITU-R 601-2 luma transform:
 L = R * 299/1000 + G * 587/1000 + B * 114/1000
"
That should also be easy to implement.
Friedrich
From: Tony S Yu <ts...@gm...> - 2010年08月09日 19:52:36
On Jul 30, 2010, at 8:04 PM, Jae-Joon Lee wrote:
> I don't think this is just an issue of "bbox_inches" option. For
> example, if you create an axes of rect=[0,0,1,1] and save the figure
> (w/o bbox_inches option), you will see a similar behavior.
> Also, I believe that the result depends on the backends.
> 
> I think this kind of issue is quite difficult to resolve and I doubt
> if this will be solved anytime soon.
> Any contribution will be very much appreciated.
> 
> Regards,
> 
> -JJ
I think this clipping issue is caused by a figure size that's one pixel larger than the actual canvas. Here's the example that Jae-Joon suggested:
>>> import matplotlib.pyplot as plt
>>> 
>>> fig = plt.figure(figsize=(8, 6), dpi=100)
>>> plt.axes([0, 0, 1, 1])
>>> print fig.transFigure.transform((0, 0))
>>> print fig.transFigure.transform((1, 1))
>>> plt.savefig('clipped_right_and_bottom_edge')
The saved figure is 800x600 pixels, and the right and bottom edge are clipped. Also, notice that the figure coordinate (0, 0) gets transformed to (0, 0) in pixel space (display space?), while the figure coordinate (1, 1) gets transformed to (800, 600) in pixel space. But, a figure that includes a point at (0, 0) and (800, 600) would have to be at least 801x601 in size.
The strange part is that the origin of the figure space is the bottom-left, but the image gets clipped at the bottom and right edges. I would have expected the bottom-and-left edges *or* the top-and-right edges to be clipped.
Best,
-Tony
> 
> 
> On Sat, Jul 31, 2010 at 5:48 AM, Damon McDougall
> <D.M...@wa...> wrote:
>> Aha! Even without the text, i.e. setting label1On = False for all the major ticks, the behaviour I see is that with bbox_inches = 'tight' and pad_inches = 0.0 I get the saved figure which includes the black border line for the bottom and left edges, but not the top and right edges. This may have something to do with it. Maybe it's an issue with the bounding box not being 'inclusive' and leaving out the end points?
>> 
>> Regards,
>> -- Damon
>> 
>> --------------------------
>> Damon McDougall
>> Mathematics Institute
>> University of Warwick
>> Coventry
>> CV4 7AL
>> d.m...@wa...
>> 
>> 
>> 
>> On 30 Jul 2010, at 20:33, Eric Firing wrote:
>> 
>>> On 07/30/2010 06:32 AM, Damon McDougall wrote:
>>>> Hmm, it seems as though tick labels get clipped on the top and on the right when passing bbox_inches='tight' and pad_inches=0.0. I wouldn't expect this behaviour. Is there perhaps a bug in Bbox.union that's causing this?
>>>> 
>>> 
>>> Not likely. Much more likely is a problem in calculating the rendered
>>> size of the text.
>>> 
>>> Eric
>>> 
>>>> Regards,
>>>> -- Damon
>>>> 
>>>> --------------------------
>>>> Damon McDougall
>>>> Mathematics Institute
>>>> University of Warwick
>>>> Coventry
>>>> CV4 7AL
>>>> d.m...@wa...
From: Ben N. <be...@re...> - 2010年08月09日 15:03:07
>> I tried to use "edgecolor = 'none'" in a call to bar(), hoping to get no
>> border to the bars, but instead got no bars at all.
>
> Just to note, the documentation does specify a difference between None and
> 'none'. None means to use the rcdefaults and 'none' means no color at all.
> Is bar() just simply not properly handling the 'none' case?
That's right, yes. Currently, bar() does not handle the string 'none'
properly; it results in an empty graph. E.g.:
 bar([1, 2, 3], [12, 13, 14], edgecolor = None)
behaves correctly, giving a bar chart with black-edged blue bars.
 bar([1, 2, 3], [12, 13, 14], edgecolor = 'none')
gives no graph at all. After the patch, the second call gives the right
result, a bar-chart with border-less blue bars. Same kind of thing with
the kwarg 'color' instead of 'edgecolor', which is also fixed in my
second recent email.
Hope this clarifies things. Thanks,
Ben.
From: Benjamin R. <ben...@ou...> - 2010年08月09日 14:52:51
On Mon, Aug 9, 2010 at 3:28 AM, Ben North <be...@re...> wrote:
> Hi,
>
> I tried to use "edgecolor = 'none'" in a call to bar(), hoping to get no
> border to the bars, but instead got no bars at all. The patch below
> (against 1.0.0) seems to fix this; it adds a check for 'none' to the
> existing check for None as a special case of the edgecolor argument.
>
> Thanks,
>
> Ben.
>
>
>
>
> --- ORIG-axes.py 2010年07月06日 15:43:35.000000000 +0100
> +++ NEW-axes.py 2010年08月09日 09:16:51.000004000 +0100
> @@ -4582,8 +4582,9 @@
> if len(color) < nbars:
> color *= nbars
>
> - if edgecolor is None:
> - edgecolor = [None] * nbars
> + if (edgecolor is None
> + or (is_string_like(edgecolor) and edgecolor.lower() ==
> 'none')):
> + edgecolor = [edgecolor] * nbars
> else:
> edgecolor =
> list(mcolors.colorConverter.to_rgba_array(edgecolor))
> if len(edgecolor) < nbars:
>
>
Just to note, the documentation does specify a difference between None and
'none'. None means to use the rcdefaults and 'none' means no color at all.
Is bar() just simply not properly handling the 'none' case?
Ben Root
From: Ben N. <be...@re...> - 2010年08月09日 08:55:56
Hi,
I tried to use "edgecolor = 'none'" in a call to bar(), hoping to get no
border to the bars, but instead got no bars at all. The patch below
(against 1.0.0) seems to fix this; it adds a check for 'none' to the
existing check for None as a special case of the edgecolor argument.
Thanks,
Ben.
--- ORIG-axes.py 2010年07月06日 15:43:35.000000000 +0100
+++ NEW-axes.py 2010年08月09日 09:16:51.000004000 +0100
@@ -4582,8 +4582,9 @@
 if len(color) < nbars:
 color *= nbars
- if edgecolor is None:
- edgecolor = [None] * nbars
+ if (edgecolor is None
+ or (is_string_like(edgecolor) and edgecolor.lower() == 'none')):
+ edgecolor = [edgecolor] * nbars
 else:
 edgecolor = list(mcolors.colorConverter.to_rgba_array(edgecolor))
 if len(edgecolor) < nbars:
From: Ben N. <be...@re...> - 2010年08月09日 08:45:58
Hi,
While looking at axes.py for the color/edgecolor patch just sent, I
noticed the FIXME suggesting ValueError instead of assert. Is the below
the kind of thing?
Ben.
--- ORIG-axes.py 2010年07月06日 15:43:35.000000000 +0100
+++ NEW-axes.py 2010年08月09日 09:43:30.000257000 +0100
@@ -4589,15 +4589,12 @@
 if len(edgecolor) < nbars:
 edgecolor *= nbars
- # FIXME: convert the following to proper input validation
- # raising ValueError; don't use assert for this.
- assert len(left)==nbars, "incompatible sizes: argument 'left'
must be length %d or scalar" % nbars
- assert len(height)==nbars, ("incompatible sizes: argument
'height' must be length %d or scalar" %
- nbars)
- assert len(width)==nbars, ("incompatible sizes: argument
'width' must be length %d or scalar" %
- nbars)
- assert len(bottom)==nbars, ("incompatible sizes: argument
'bottom' must be length %d or scalar" %
- nbars)
+ for argname in ['left', 'height', 'width', 'bottom']:
+ arg = locals()[argname]
+ if len(arg) != nbars:
+ raise ValueError("incompatible sizes:"
+ " argument '%s' must be length %d or scalar"
+ % (argname, nbars))
 patches = []
From: Ben N. <be...@re...> - 2010年08月09日 08:42:27
Hi,
Update to my recent email: perhaps it would make sense to handle the
'color' argument in the same way, allowing hollow bars. Combined patch
below.
Ben.
--- ORIG-axes.py 2010年07月06日 15:43:35.000000000 +0100
+++ NEW-axes.py 2010年08月09日 09:39:44.000256000 +0100
@@ -4575,15 +4575,17 @@
 if len(linewidth) < nbars:
 linewidth *= nbars
- if color is None:
- color = [None] * nbars
+ if (color is None
+ or (is_string_like(color) and color.lower() == 'none')):
+ color = [color] * nbars
 else:
 color = list(mcolors.colorConverter.to_rgba_array(color))
 if len(color) < nbars:
 color *= nbars
- if edgecolor is None:
- edgecolor = [None] * nbars
+ if (edgecolor is None
+ or (is_string_like(edgecolor) and edgecolor.lower() == 'none')):
+ edgecolor = [edgecolor] * nbars
 else:
 edgecolor = list(mcolors.colorConverter.to_rgba_array(edgecolor))
 if len(edgecolor) < nbars:

Showing 7 results of 7

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