SourceForge logo
SourceForge logo
Menu

matplotlib-devel

From: Grahame B. <gr...@an...> - 2011年08月24日 15:30:45
Attachments: crash.py
Hi everyone
I've found a few problems in the current matplotlib-py3 branch in the
_macosx.c code. I've put the fixes in a fork here:
 https://github.com/grahame/matplotlib-py3
I saw a pull request for a similar patch with a lot of comments that
seems to be stuck, so I thought I'd ask here what to do. It'd be great
to get the master branch working on Mac.
Another thing - I think I've found a str/bytes bug which I can't
figure it out. I've attached the code, if I run it on my machine I get
this output:
Traceback (most recent call last):
 File "crash.py", line 24, in <module>
 fig.canvas.print_figure(open('test.png', 'wb'), bbox_inches='tight')
 File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/backend_bases.py",
line 1951, in print_figure
 bbox_inches = self.figure.get_tightbbox(renderer)
 File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
line 1292, in get_tightbbox
 for ax in self.axes:
 File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
line 290, in _get_axes
 return self._axstack.as_list()
 File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
line 59, in as_list
 ia_list = [a for k, a in self._elements]
 File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
line 59, in <listcomp>
 ia_list = [a for k, a in self._elements]
TypeError: string argument expected, got 'bytes'
It's definitely something to do with the bbox_inches='tight' argument,
if I take that out everything works. Using the debugger I can't see
anything in any stack frame that explains the traceback - really odd!
Thanks
Grahame
From: Michael D. <md...@st...> - 2011年08月24日 17:42:12
On 08/24/2011 11:07 AM, Grahame Bowland wrote:
> Hi everyone
>
> I've found a few problems in the current matplotlib-py3 branch in the
> _macosx.c code. I've put the fixes in a fork here:
> https://github.com/grahame/matplotlib-py3
> I saw a pull request for a similar patch with a lot of comments that
> seems to be stuck, so I thought I'd ask here what to do. It'd be great
> to get the master branch working on Mac.
I was worried about accepting the changes without a Mac to test them on, 
and hoping that Michiel de Hoon (the Mac backend author) would have some 
comments. Maybe we can convince one of the other developers on this 
list who has a Mac to have a look.
> Another thing - I think I've found a str/bytes bug which I can't
> figure it out. I've attached the code, if I run it on my machine I get
> this output:
>
> Traceback (most recent call last):
> File "crash.py", line 24, in<module>
> fig.canvas.print_figure(open('test.png', 'wb'), bbox_inches='tight')
> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/backend_bases.py",
> line 1951, in print_figure
> bbox_inches = self.figure.get_tightbbox(renderer)
> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
> line 1292, in get_tightbbox
> for ax in self.axes:
> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
> line 290, in _get_axes
> return self._axstack.as_list()
> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
> line 59, in as_list
> ia_list = [a for k, a in self._elements]
> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
> line 59, in<listcomp>
> ia_list = [a for k, a in self._elements]
> TypeError: string argument expected, got 'bytes'
>
> It's definitely something to do with the bbox_inches='tight' argument,
> if I take that out everything works. Using the debugger I can't see
> anything in any stack frame that explains the traceback - really odd!
>
Can you file an issue for this in the matplotlib-py3 github project? 
I'm busy getting the matplotlib 1.1.x release finished up at the moment, 
and don't have a working environment for Python 3 right now. I'd hate 
for this bug to fall through the cracks.
Cheers,
Mike
From: Michael D. <md...@st...> - 2011年08月25日 17:39:32
On 08/24/2011 01:41 PM, Michael Droettboom wrote:
> On 08/24/2011 11:07 AM, Grahame Bowland wrote:
>
>> Another thing - I think I've found a str/bytes bug which I can't
>> figure it out. I've attached the code, if I run it on my machine I get
>> this output:
>>
>> Traceback (most recent call last):
>> File "crash.py", line 24, in<module>
>> fig.canvas.print_figure(open('test.png', 'wb'), bbox_inches='tight')
>> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/backend_bases.py",
>> line 1951, in print_figure
>> bbox_inches = self.figure.get_tightbbox(renderer)
>> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>> line 1292, in get_tightbbox
>> for ax in self.axes:
>> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>> line 290, in _get_axes
>> return self._axstack.as_list()
>> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>> line 59, in as_list
>> ia_list = [a for k, a in self._elements]
>> File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>> line 59, in<listcomp>
>> ia_list = [a for k, a in self._elements]
>> TypeError: string argument expected, got 'bytes'
>>
>> It's definitely something to do with the bbox_inches='tight' argument,
>> if I take that out everything works. Using the debugger I can't see
>> anything in any stack frame that explains the traceback - really odd!
>>
> Can you file an issue for this in the matplotlib-py3 github project?
> I'm busy getting the matplotlib 1.1.x release finished up at the moment,
> and don't have a working environment for Python 3 right now. I'd hate
> for this bug to fall through the cracks.
>
Indeed a confusing bug -- errors were not being returned correctly from 
the PNG extension.
Can you confirm that
https://github.com/matplotlib/matplotlib-py3/commit/927acf856bb321e22938846bb39f8b32d90172d4
resolves the issue?
Mike
From: Grahame B. <gr...@an...> - 2011年08月27日 10:45:50
On 26 August 2011 01:38, Michael Droettboom <md...@st...> wrote:
> On 08/24/2011 01:41 PM, Michael Droettboom wrote:
>> On 08/24/2011 11:07 AM, Grahame Bowland wrote:
>>
>>> Another thing - I think I've found a str/bytes bug which I can't
>>> figure it out. I've attached the code, if I run it on my machine I get
>>> this output:
>>>
>>> Traceback (most recent call last):
>>>   File "crash.py", line 24, in<module>
>>>    fig.canvas.print_figure(open('test.png', 'wb'), bbox_inches='tight')
>>>   File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/backend_bases.py",
>>> line 1951, in print_figure
>>>    bbox_inches = self.figure.get_tightbbox(renderer)
>>>   File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>>> line 1292, in get_tightbbox
>>>    for ax in self.axes:
>>>   File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>>> line 290, in _get_axes
>>>    return self._axstack.as_list()
>>>   File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>>> line 59, in as_list
>>>    ia_list = [a for k, a in self._elements]
>>>   File "/opt/shrubbery/lib/python3.2/site-packages/matplotlib/figure.py",
>>> line 59, in<listcomp>
>>>    ia_list = [a for k, a in self._elements]
>>> TypeError: string argument expected, got 'bytes'
>>>
>>> It's definitely something to do with the bbox_inches='tight' argument,
>>> if I take that out everything works. Using the debugger I can't see
>>> anything in any stack frame that explains the traceback - really odd!
>>>
>> Can you file an issue for this in the matplotlib-py3 github project?
>> I'm busy getting the matplotlib 1.1.x release finished up at the moment,
>> and don't have a working environment for Python 3 right now. I'd hate
>> for this bug to fall through the cracks.
>>
> Indeed a confusing bug -- errors were not being returned correctly from
> the PNG extension.
>
> Can you confirm that
>
> https://github.com/matplotlib/matplotlib-py3/commit/927acf856bb321e22938846bb39f8b32d90172d4
>
> resolves the issue?
Hi Mike
Thanks very much, that solves the problem.
Cheers
Grahame
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 によって変換されたページ (->オリジナル) /