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


Showing 3 results of 3

From: Martin M. <mmo...@gm...> - 2013年10月12日 16:56:38
Attachments: eatmem.py
Hi,
 so here is some quick but working example. I added there are 2-3 functions (unused)
as a bonus, you can easily call them from the main function using same API
(except the piechart). I hope this shows what I lack in matplotlib - a general API
so that I could easily switch form scatter plot to piechart or barchart without altering
much the function arguments. Messing with return objects line2D, PathCollection, Rectangle
is awkward and I would like to stay away from matplotlib's internals. ;) Some can be sliced,
so not, you will see in the code.
 This eatmem.py will take easily all your memory. Drawing 300000 dots is not feasible
with 16GB of RAM. While the example is for sure inefficient in many places generating the data
in python does not eat RAM. That happens afterwards.
I would really like to hear whether matplotlib could be adjusted instead. ;) I already mentioned
in this thread that it is awkward to pre-create colors before passing all data to a drawing
function. I think we could all save a lot if matplotlib could dynamically fetch colors
on the fly from user-created generator, same for legends descriptions. I think my example
code shows the inefficient approach here. Would I have more time I would randomize a bit
more the sublist of each series so that the numbers in legends would be more variable
but that is a cosmetic issue.
 Probably due to my ignorance you will see that figures with legends have different font
sizes, axes are rescaled and the figure. Of course I wanted to have the drawing same via both
approaches but failed badly. The files/figures with legends should be just accompanied by the
legend "table" underneath but the drawing itself should be same. Maybe an issue with DPI settings
but not only.
 I placed some comments in the code, please don't take them in person. ;) Of course
I am glad for the existing work and am happy to contribute my crap. I am fine if you rewamp
this ugly code into matplotlib testsuite, provide similar function (the API mentioned above)
so that I could use your code directly. That would be great. I just tried to show multiple
issues at once, notably that is why I included those unused functions. You will for sure find
a way to use them.
 Regarding the "unnecessary" del() calls etc., I think I have to use keep some, Ben, because
the function is not always left soon enough. I could drop some, you are right, but for some
I don't think so. Matplotlib cannot recycle the memory until me (upstream) deletes the reference
so ... go and test this lousy code. Now you have a testcase. ;) Same with the gc.collect() calls.
Actually, the main loop with 10 iteration is there just to show why I always want to clear
a figure when entering a function and while leaving it as well. It happened too many times that
I drawed over an old figure, and this was posted also few times on this list by others. That is
a weird behavior in my opinion. We, users, are just forced to use too low-level functions.
So, have fun eating your memory! :))
Martin
From: Matthew B. <mat...@gm...> - 2013年10月12日 05:33:09
Attachments: mpl.log.bz2
Hi,
On Fri, Oct 11, 2013 at 9:29 PM, Matthew Brett <mat...@gm...> wrote:
> Hi,
>
> On Thu, Oct 3, 2013 at 1:33 PM, Matthew Brett <mat...@gm...> wrote:
>> Hi,
>>
>> On Thu, Oct 3, 2013 at 1:29 PM, Russell E. Owen <ro...@uw...> wrote:
>>> In article
>>> <CAH6Pt5q=Z_m...@ma...>,
>>> Matthew Brett <mat...@gm...>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> On Thu, Oct 3, 2013 at 5:59 AM, Michael Droettboom
>>>> <md...@st...> wrote:
>>>> > Matthew Terry, as part of his Mac testing project, has done a great deal of
>>>> > reconnaissance on this.
>>>> >
>>>> > https://github.com/matplotlib/mpl_mac_testing
>>>> >
>>>> > I know he was looking into statically linking some of the C dependencies
>>>> > (freetype, libpng etc.) as a way to make the installer more robust to
>>>> > different environments.
>>>>
>>>> Thanks - that looks like a useful testing grid.
>>>>
>>>> Are there any near-term plans for something like a .dmg or .mpkg or
>>>> .pkg installer?
>>>
>>> Building a binary installer with statically linked libraries is not
>>> terribly hard (see
>>> <http://www.astro.washington.edu/users/rowen/BuildingMatplotlibForMac.htm
>>> l>). There are two problem:
>>> - As of 1.3.0 mpl does not include python-dateutil, pytz or six (for
>>> good reasons) and that makes it harder to make a really usable binary
>>> installer. This interacts with the next problem:
>>> - For unknown reasons running the 1.3.0 installer breaks existing
>>> installations of python-dateutil if those packages were installed using
>>> an older mpl binary installer.
>>>
>>> The missing packages can be added to the binary installer after it is
>>> produced by bdist_mpkg by post-processing the mpkg. That would take care
>>> of the second issue for most users (who would use the default
>>> installation and get everything). I have not had time to deal with that.
>>> Thus I never uploaded an official binary installer for 1.3.0 and stopped
>>> providing them. Matthew Terry has taken over that task.
>>
>> Aha - yes - postprocessing the mpkg would be pretty easy.
>>
>> So - I guess I should just build the installer myself and post it for
>> testing? Is that the best way forward?
>
> OK - after a lot of blood, sweat and tears:
>
> http://nipy.bic.berkeley.edu/practical_neuroimaging/matplotlib-1.3.1-py2.7-macosx10.6.mpkg.zip
>
> - a standalone binary installer for matplotlib 1.3.1, including:
>
> tornado
> pyparsing
> python-dateutil
> pytz
> six
>
> Please do test.
>
> It imports on my machines (10.6, 10.7 * 2, 10.8), I am just running the tests.
>
> I'm building from a waf build that should be replicable:
>
> https://github.com/matthew-brett/mpl-osx-binaries
>
> On a 10.6 and a 10.8 machine I get a couple of test errors, log attached:
>
> ERROR: matplotlib.tests.test_backend_pgf.test_pathclip
> ERROR: matplotlib.tests.test_backend_pgf.test_mixedmode
>
> One (clean) 10.7 passes, another 10.7 machine gives the same errors as
> above plus 2 ghostscript errors.
python3.3 installer, same errors as 2.7 for OSX 10.8:
http://nipy.bic.berkeley.edu/practical_neuroimaging/matplotlib-1.3.1-py3.3-macosx10.6.mpkg.zip
I've attached the log this time (for 2.7, it's similar for 3.3)
Best,
Matthew
From: Matthew B. <mat...@gm...> - 2013年10月12日 04:30:25
Hi,
On Thu, Oct 3, 2013 at 1:33 PM, Matthew Brett <mat...@gm...> wrote:
> Hi,
>
> On Thu, Oct 3, 2013 at 1:29 PM, Russell E. Owen <ro...@uw...> wrote:
>> In article
>> <CAH6Pt5q=Z_m...@ma...>,
>> Matthew Brett <mat...@gm...>
>> wrote:
>>
>>> Hi,
>>>
>>> On Thu, Oct 3, 2013 at 5:59 AM, Michael Droettboom
>>> <md...@st...> wrote:
>>> > Matthew Terry, as part of his Mac testing project, has done a great deal of
>>> > reconnaissance on this.
>>> >
>>> > https://github.com/matplotlib/mpl_mac_testing
>>> >
>>> > I know he was looking into statically linking some of the C dependencies
>>> > (freetype, libpng etc.) as a way to make the installer more robust to
>>> > different environments.
>>>
>>> Thanks - that looks like a useful testing grid.
>>>
>>> Are there any near-term plans for something like a .dmg or .mpkg or
>>> .pkg installer?
>>
>> Building a binary installer with statically linked libraries is not
>> terribly hard (see
>> <http://www.astro.washington.edu/users/rowen/BuildingMatplotlibForMac.htm
>> l>). There are two problem:
>> - As of 1.3.0 mpl does not include python-dateutil, pytz or six (for
>> good reasons) and that makes it harder to make a really usable binary
>> installer. This interacts with the next problem:
>> - For unknown reasons running the 1.3.0 installer breaks existing
>> installations of python-dateutil if those packages were installed using
>> an older mpl binary installer.
>>
>> The missing packages can be added to the binary installer after it is
>> produced by bdist_mpkg by post-processing the mpkg. That would take care
>> of the second issue for most users (who would use the default
>> installation and get everything). I have not had time to deal with that.
>> Thus I never uploaded an official binary installer for 1.3.0 and stopped
>> providing them. Matthew Terry has taken over that task.
>
> Aha - yes - postprocessing the mpkg would be pretty easy.
>
> So - I guess I should just build the installer myself and post it for
> testing? Is that the best way forward?
OK - after a lot of blood, sweat and tears:
http://nipy.bic.berkeley.edu/practical_neuroimaging/matplotlib-1.3.1-py2.7-macosx10.6.mpkg.zip
- a standalone binary installer for matplotlib 1.3.1, including:
tornado
pyparsing
python-dateutil
pytz
six
Please do test.
It imports on my machines (10.6, 10.7 * 2, 10.8), I am just running the tests.
I'm building from a waf build that should be replicable:
https://github.com/matthew-brett/mpl-osx-binaries
On a 10.6 and a 10.8 machine I get a couple of test errors, log attached:
ERROR: matplotlib.tests.test_backend_pgf.test_pathclip
ERROR: matplotlib.tests.test_backend_pgf.test_mixedmode
One (clean) 10.7 passes, another 10.7 machine gives the same errors as
above plus 2 ghostscript errors.
Cheers,
Matthew

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