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

Showing 5 results of 5

From: Ryan M. <rm...@gm...> - 2009年01月15日 23:11:24
John Hunter wrote:
> On Thu, Jan 15, 2009 at 4:58 PM, Ryan May <rm...@gm...> wrote:
> 
>> Ok, my debugging tells me the problem comes down to the units support,
>> specifically this code starting at line 130 in units.py:
>>
>> if converter is None and iterable(x):
>> # if this is anything but an object array, we'll assume
>> # there are no custom units
>> if isinstance(x, np.ndarray) and x.dtype != np.object:
>> return None
>>
>> for thisx in x:
>> converter = self.get_converter( thisx )
>> return converter
>>
>> Because a string is iterable, and even a single character is considered iterable,
>> this code recurses forever. I can think this can be solved by, in addition to
>> the iterable() check, make sure that x is not string like. If it is, this will
>> return None as the converter. Somehow, this actually will then plot properly.
>> I'm still trying to run down why this works, but I'm running out of time for the
>> day. I will say that the data set for the line2D object is indeed a masked array
>> of dtype ('|S4').
>>
>> Anyone object to adding the check?
> 
> Nope -- good idea
Ok, I'll check it in when I have a chance to run backend_driver.py and makes sure
nothing breaks. (Not that it should). I'll also take a crack at adding a test.
For future reference, plotting lists/arrays of strings works (at least for lines)
because Path calls .astype() on the arrays passed in, which will do the
conversion for us. So (part of) matplotlib actually does support plotting
sequences of string representations of numbers, it was just hindered by the unit
check.
>> In addition, why are we looping over thisx in x but returning inside the loop?
>> Wouldn't this *always* be the same as x[0]?
> 
> The loop works for generic iterables that are not indexable and also
> for length 0 iterables
Ok, that makes sense.
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
From: Eric F. <ef...@ha...> - 2009年01月15日 23:07:42
Ryan May wrote:
> Ok, my debugging tells me the problem comes down to the units support,
> specifically this code starting at line 130 in units.py:
> 
> if converter is None and iterable(x):
> # if this is anything but an object array, we'll assume
> # there are no custom units
> if isinstance(x, np.ndarray) and x.dtype != np.object:
> return None
> 
> for thisx in x:
> converter = self.get_converter( thisx )
> return converter
> 
> Because a string is iterable, and even a single character is considered iterable,
> this code recurses forever. I can think this can be solved by, in addition to
> the iterable() check, make sure that x is not string like. If it is, this will
Doing this check makes sense.
> return None as the converter. Somehow, this actually will then plot properly.
> I'm still trying to run down why this works, but I'm running out of time for the
> day. I will say that the data set for the line2D object is indeed a masked array
> of dtype ('|S4').
> 
> Anyone object to adding the check?
> 
> In addition, why are we looping over thisx in x but returning inside the loop?
> Wouldn't this *always* be the same as x[0]?
> 
The idea is to base the converter selection on the first item instead of 
checking every item, which would be very slow.
> Ryan
> 
From: John H. <jd...@gm...> - 2009年01月15日 23:05:21
On Thu, Jan 15, 2009 at 4:58 PM, Ryan May <rm...@gm...> wrote:
> Ok, my debugging tells me the problem comes down to the units support,
> specifically this code starting at line 130 in units.py:
>
> if converter is None and iterable(x):
> # if this is anything but an object array, we'll assume
> # there are no custom units
> if isinstance(x, np.ndarray) and x.dtype != np.object:
> return None
>
> for thisx in x:
> converter = self.get_converter( thisx )
> return converter
>
> Because a string is iterable, and even a single character is considered iterable,
> this code recurses forever. I can think this can be solved by, in addition to
> the iterable() check, make sure that x is not string like. If it is, this will
> return None as the converter. Somehow, this actually will then plot properly.
> I'm still trying to run down why this works, but I'm running out of time for the
> day. I will say that the data set for the line2D object is indeed a masked array
> of dtype ('|S4').
>
> Anyone object to adding the check?
Nope -- good idea
> In addition, why are we looping over thisx in x but returning inside the loop?
> Wouldn't this *always* be the same as x[0]?
The loop works for generic iterables that are not indexable and also
for length 0 iterables
JDH
From: Ryan M. <rm...@gm...> - 2009年01月15日 22:58:07
Ryan May wrote:
> Neal Becker wrote:
>> What's wrong here?
>> This code snippet:
>>
>> from pylab import plot, show
>> print Id
>> print pout
>>
>> plot (Id, pout)
>> show()
>>
>> produces:
>> ['50', '100', '150', '200', '250', '300', '350', '400', '450', '500', '550', 
>> '600', '650', '700', '750', '800', '850', '900', '950', '1000', '1050']
>> ['0', '7.4', '11.4', '14.2', '16.3', '18.1', '19.3', '20.6', '21.6', '22.6', 
>> '23.4', '24.1', '24.9', '25.4', '26.1', '26.5', '26.9', '27.1', '27.3', 
>> '27.4', '27.4']
> 
> The problem here is that you're trying to plot lists of strings instead of lists
> of numbers. You need to convert all of these values to numbers. However,
> matplotlib could behave a bit more nicely in this case rather than simply
> recursing until it hits the limit.
Ok, my debugging tells me the problem comes down to the units support,
specifically this code starting at line 130 in units.py:
 if converter is None and iterable(x):
 # if this is anything but an object array, we'll assume
 # there are no custom units
 if isinstance(x, np.ndarray) and x.dtype != np.object:
 return None
 for thisx in x:
 converter = self.get_converter( thisx )
 return converter
Because a string is iterable, and even a single character is considered iterable,
this code recurses forever. I can think this can be solved by, in addition to
the iterable() check, make sure that x is not string like. If it is, this will
return None as the converter. Somehow, this actually will then plot properly.
I'm still trying to run down why this works, but I'm running out of time for the
day. I will say that the data set for the line2D object is indeed a masked array
 of dtype ('|S4').
Anyone object to adding the check?
In addition, why are we looping over thisx in x but returning inside the loop?
Wouldn't this *always* be the same as x[0]?
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma
From: Ryan M. <rm...@gm...> - 2009年01月15日 15:52:38
Neal Becker wrote:
> What's wrong here?
> This code snippet:
> 
> from pylab import plot, show
> print Id
> print pout
> 
> plot (Id, pout)
> show()
> 
> produces:
> ['50', '100', '150', '200', '250', '300', '350', '400', '450', '500', '550', 
> '600', '650', '700', '750', '800', '850', '900', '950', '1000', '1050']
> ['0', '7.4', '11.4', '14.2', '16.3', '18.1', '19.3', '20.6', '21.6', '22.6', 
> '23.4', '24.1', '24.9', '25.4', '26.1', '26.5', '26.9', '27.1', '27.3', 
> '27.4', '27.4']
The problem here is that you're trying to plot lists of strings instead of lists
of numbers. You need to convert all of these values to numbers. However,
matplotlib could behave a bit more nicely in this case rather than simply
recursing until it hits the limit.
Ryan
-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma

Showing 5 results of 5

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