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


Showing results of 170

1 2 3 .. 7 > >> (Page 1 of 7)
From: Alan G I. <ala...@gm...> - 2013年01月31日 19:12:43
On 1/31/2013 12:55 PM, Benjamin Root wrote:
> I was submitting an article to an IEEE journal once. IEEE's submission process for images gives back fairly useful error messages, and it told me
> that my images (that I generated from matplotlib) needed to be in CMYK format. I had access to Adobe Illustrator on my wife's computer, and used its
> tools to convert those files to CMYK, and resubmitted it to IEEE's submission page. The error message I got back? "Images need to be in RGB format"
http://matplotlib.org/users/whats_new.html#pgf-tikz-backend
fwiw,
Alan Isaac
From: Benjamin R. <ben...@ou...> - 2013年01月31日 17:55:49
On Thu, Jan 31, 2013 at 12:08 PM, Dieter <die...@ed...>wrote:
>
>
> Is there really no practical way to do this? How do others convert RGB
> plots
> to CMYK? (Importing my data into Matlab and plotting them there cannot be
> the only possibility!)
>
>
Funny story about that. I was submitting an article to an IEEE journal
once. IEEE's submission process for images gives back fairly useful error
messages, and it told me that my images (that I generated from matplotlib)
needed to be in CMYK format. I had access to Adobe Illustrator on my
wife's computer, and used its tools to convert those files to CMYK, and
resubmitted it to IEEE's submission page. The error message I got back?
"Images need to be in RGB format"
I forget what I did to resolve this problem (I think I did some funky
eps-->ps-->pdf-->eps thing, I don't remember), but what I submitted was
certainly RGB, so, go figure...
Cheers!
Ben Root
From: Dieter <die...@ed...> - 2013年01月31日 17:08:41
Thanks everybody for the input. As I see the answer is no, but it could be
implemented.
I did an extensive search, but I even struggle to find a good and practical
solution how to convert a VECTORPLOT RGB to CMYK on a linux system. (One way
I often found would be the Adobe suits, which I do not have.) I gave
mpl_ps_cmyk a go, but execution failed, and the page looks dated.
Furthermore, Adobes seems to provide ICCs only for Windows and Mac, but not
for Linux. ImageMagick rasterizes the figure, the same with GIMP.
I agree that this should be done on the publisher's side, but as a matter of
fact it is the requirement of some journals.
Is there really no practical way to do this? How do others convert RGB plots
to CMYK? (Importing my data into Matlab and plotting them there cannot be
the only possibility!)
Thanks everybody again, much appreciated!
Dieter
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352p40379.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Mads I. <mad...@gm...> - 2013年01月31日 08:04:25
On 01/30/2013 08:02 PM, Benjamin Root wrote:
>
>
> On Wed, Jan 30, 2013 at 1:46 PM, Mads Ipsen <mad...@gm... 
> <mailto:mad...@gm...>> wrote:
>
> On 01/30/2013 05:03 PM, Benjamin Root wrote:
>>
>>
>> On Tue, Jan 29, 2013 at 5:12 PM, Mads Ipsen <mad...@gm...
>> <mailto:mad...@gm...>> wrote:
>>
>> Hi,
>>
>> I spend some time writing up the question below on
>> Stackoverflow which immediately was closed as a duplicate of
>> other posts. To my best knowledge, these posts did not answer
>> my questions - so I'll try my luck here instead:
>>
>> I am using the qt backengine for setting up a QWidget that
>> embeds a matplotlib scene. When the widget is closed it
>> appears that many of the matplotlib objects that were part of
>> the plot still are alive in Python space.
>>
>> My question is basically the following: What actions should I
>> take to clean up the figure and axes objects etc. that were
>> part of the plot widget? The qt backend comes with a figure
>> manager, but it appears a little unclear how it should be used.
>>
>> I have attached a small unit test example that sets up a
>> plot. When the plot appears, just close it, and the test will
>> garbage collects the plot, and then display info of the
>> matplotlib objects that are still alive in Python space.
>> Clearly both the path of the plot, and several Bbox objects
>> are still referenced.
>>
>> Our current unit test suite contains almost 10000 GUI tests
>> and its imperative that proper object space clean up is done
>> after each test. Any help is much appreciated.
>>
>> Best regards,
>>
>> Mads
>>
>>
>> Would "fig.clf()" do what you need?
>>
>> Ben Root
>>
> Thanks for the feedback.
>
> The trick is to get this done automatically when the widget is
> closed. If you look in backend_qt4.py in the constructor of
> FigureCanvasQT you'll find
>
> QtCore.QObject.connect(self, QtCore.SIGNAL('destroyed()'),
> self.close_event)
>
> which should perform the steps below when close_event is called
>
> event = CloseEvent(s, self, guiEvent=guiEvent)
> self.callbacks.process(s, event)
>
> If I insert print statements, the signal is ignored with
> matplotlib 1.1.0, but called with 1.2.0 (which uses a lambda
> function in the above connection).But inspecting pythons objects
> after the close() method is called on the widget, it seems that -
> at least - the paths associated with plot actually still exist.
>
> So I'm just a bit worried if there already is existing
> functionality in the FigureCanvasQTAgg object that can do these
> things for me. And if so, how to use them?
>
> Best regards,
>
> Mads
>
>
> Actually, now I am starting to recall a bug fix that came shortly 
> after the 1.2.0 release related to properly setting up the destruction 
> signal of the QT figure object. Could you test your code-base with 
> the maintenance branch (1.2.x)? or master?
>
> Cheers!
> Ben Root
>
Hi,
I attach log files from running my setup 'plot.py' with 1.1.0, 1.2.0, 
and master. To my judgement - if an automated memory clean-up is handled 
by the FigureCanvasQTAgg class - I must be abusing the usage of the 
class, since all logs still show the presence of paths, labels, bbox's, etc.
Also notice that log-1.2.0 show the presence of a path with hundreds of 
data points, which are not present in the other logs.
Best regards,
Mads
-- 
+-----------------------------------------------------+
| Mads Ipsen |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv | |
| DK-2500 Valby | phone: +45-29716388 |
| Denmark | email: mad...@gm... |
+----------------------+------------------------------+
From: Jae-Joon L. <lee...@gm...> - 2013年01月31日 05:08:12
I agree with Eric that what we need is a backend that support CMYK color
space.
But matplotlib may need to provide some framework for handling the color
profiles etc.
My limited experience with ps_myck backend (
https://github.com/leejjoon/mpl_ps_cmyk) suggests that, as far as
matplotlib provide some framework for color conversion,
implementing/modifying a backend to support cmyk should not be difficult.
So, yes, we need someone to write a MEP.
Regards,
-JJ
On Thu, Jan 31, 2013 at 4:30 AM, Eric Firing <ef...@ha...> wrote:
> On 2013年01月30日 9:13 AM, Paul Kuin wrote:
> > For what it's worth.
> >
> > While the RGB system is native to monitor devices, since they produce
> > light of certain colours, CMYK is the colour system of printer
> > materials etc. since they absorb the colours, but reflect those we
> > see. That means designs must be made in CMYK for pronter materials
> > and in RGB for our devices. The response of each medium or device is
> > different. RGB will have part of the colour space not accessible in
> > some devices, while in printed materials it is different again. The
> > basic thing is colour space, while RGB and CMYK can be seen as a map.
> > In the real world you have to look at the product to see if the
> > colours come out right.
> >
> > Not sure what to make of any implementation of this, but a simple
> > mapping should not be impossible.
>
> Granted, a mapping within the intersection of the two spaces
> respectively accessibly to RGB and CMYK is possible, but I think it
> makes more sense to do it as a separate operation on the ps or pdf file
> than to try to build it into mpl. If it were to be built in, I think it
> would have to be bolted onto the ps and pdf backends. I suspect that
> the alpha channel will make this quite complicated, much more so than a
> simple mapping; it will require an intermediate rendering step.
>
> Eric
>
> >
> > Cheers,
> >
> > Paul
> >
> > On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <ef...@ha...> wrote:
> >> On 2013年01月30日 6:43 AM, Michael Droettboom wrote:
> >>> We don't currently have any support -- and we're still struggling in
> >>> certain areas supporting RGBA consistently across the system.
> >>>
> >>> I think this would take someone writing a MEP (as a preliminary study
> of
> >>> all of the changes that would be involved) and then shepherding it
> >>> through implementation.
> >>
> >> My somewhat vague recollection is that CMYK is fundamentally
> >> output-device dependent, and therefore it really doesn't make much sense
> >> for a plotting library to support it directly. The conversion from RGBA
> >> should be made by the publisher, knowing what the output device
> >> characteristics are.
> >>
> >> Eric
> >>
> >>>
> >>> Mike
> >>>
> >>> On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:
> >>>> On 29/01/13 03:37:51 -0800, Dieter wrote:
> >>>>> I was wondering if anything changed regarding this within the last
> 2.5 years
> >>>>> since the last thread. Is there a way to produce CMYK with
> matplotlib?
> >>>> Hello everybody,
> >>>>
> >>>> I would be also interested in how to produce CMYK graphics without
> >>>> external fiddling.
> >>>>
> >>>> Cheers,
> >>>> Ignas
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: ztftom <zt...@gm...> - 2013年01月31日 03:29:58
Something wrong with the figure in the gallery: custom_scale_example.py
<http://matplotlib.org/examples/api/custom_scale_example.html> It's
supposed to be a Mercator scale, but the figure shown is just a linear scale
plot.I also attached my plot.
<http://matplotlib.1069221.n5.nabble.com/file/n40376/mercator_projection_scale.png>
Anyone who could confirm this? Thx!
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/custom-scale-example-py-tp40376.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
Ben,
Many thanks! Will try to use shapely package then.
Masha
--------------------
li...@us...
On Jan 30, 2013, at 6:59 AM, Benjamin Root wrote:
> 
> 
> On Tue, Jan 29, 2013 at 5:55 PM, Maria Liukis <li...@us...> wrote:
> Hello,
> 
> I tested the following code on my Mac laptop and our production Linux server both running matplotlib V1.0.1. Both machines observe the same output from the code, so I was wondering if somebody is aware of the problem or if it's some undocumented feature of "pnpoly()" function from matplotlib.nxutils?
> 
> I use matplotlib.nxutils.pnpoly() function from matplotlib to determine if point belongs to the polygon. 
> The following code:
> 
> >>> import numpy as np
> >>> import matplotlib.nxutils as nx
> >>> coords = np.array([[4.0, 1.0], [4.0, 4.0], [5.0, 5.0], [6.0, 4.0], [5.0, 0.0]])
> 
> >>> nx.pnpoly(4.0, 1.0, coords)
> 1
> >>> nx.pnpoly(4.0, 4.0, coords)
> 1
> >>> nx.pnpoly(5.0, 5.0, coords)
> 0
> >>> nx.pnpoly(6.0, 4.0, coords)
> 0
> >>> nx.pnpoly(5.0, 0.0, coords)
> 0
> 
> The question is why first two vertexes are considered to be inside of defined polygon, and last 3 vertexes are not? My guess, it's treating the polygon as a semi-open set, and I wonder if it can be changed to make all vertexes inclusive?
> 
> Any help would be greatly appreciated.
> 
> Many thanks,
> Masha
> 
> The documentation for pnpoly() for that version states:
> 
> """
> A point on the boundary may be treated as inside or outside.
> See `pnpoly <http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html>`_
> """
> 
> Note that in version 1.2.0, the nxutils module was deprecated. pnpoly() and points_inside_poly() are now merely wrappers around the polygon's implementations of point-testing, which differs from the nxutils' implementation, so you may get slightly different results.
> 
> Do note that the point-testing algorithm in matplotlib was more geared for visualization purposes rather than for strict geometric needs. If you need a more well-behaved point-tester (and faster if the polygon is "prepared"), use the shapely package instead.
> 
> I hope that clears things up!
> 
> Cheers!
> Ben Root
> 
From: Skipper S. <jss...@gm...> - 2013年01月30日 21:33:30
Hi,
Trying to figure out why these two do not create the same plot. Bug or user
error?
import matplotlib.pyplot as plt
from matplotlib.patches import FancyArrowPatch
from matplotlib.collections import PatchCollection
def correct_patch(pos):
 fig, ax = plt.subplots()
 for src, dst in pos:
 arrow = FancyArrowPatch(posA=src, posB=dst,
 color='k', arrowstyle='-|>',
 mutation_scale=30, connectionstyle="arc3")
 ax.add_patch(arrow)
 return fig
def patch_collection_problem(pos):
 fig, ax = plt.subplots()
 pos = [[(.5, .5), (.25, .25)],
 [(.1, .5), (.2, .75)]]
 arrows = []
 for src, dst in pos:
 arrows.append(FancyArrowPatch(posA=src, posB=dst,
 color='k', arrowstyle='-|>',
 mutation_scale=30, connectionstyle="arc3"))
 collection = PatchCollection(arrows, match_original=True)
 ax.add_collection(collection, autolim=False)
 return fig
pos = [[(.5, .5), (.25, .25)],
 [(.1, .5), (.2, .75)]]
correct_patch(pos)
patch_collection_problem(pos)
From: Eric F. <ef...@ha...> - 2013年01月30日 19:30:55
On 2013年01月30日 9:13 AM, Paul Kuin wrote:
> For what it's worth.
>
> While the RGB system is native to monitor devices, since they produce
> light of certain colours, CMYK is the colour system of printer
> materials etc. since they absorb the colours, but reflect those we
> see. That means designs must be made in CMYK for pronter materials
> and in RGB for our devices. The response of each medium or device is
> different. RGB will have part of the colour space not accessible in
> some devices, while in printed materials it is different again. The
> basic thing is colour space, while RGB and CMYK can be seen as a map.
> In the real world you have to look at the product to see if the
> colours come out right.
>
> Not sure what to make of any implementation of this, but a simple
> mapping should not be impossible.
Granted, a mapping within the intersection of the two spaces 
respectively accessibly to RGB and CMYK is possible, but I think it 
makes more sense to do it as a separate operation on the ps or pdf file 
than to try to build it into mpl. If it were to be built in, I think it 
would have to be bolted onto the ps and pdf backends. I suspect that 
the alpha channel will make this quite complicated, much more so than a 
simple mapping; it will require an intermediate rendering step.
Eric
>
> Cheers,
>
> Paul
>
> On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <ef...@ha...> wrote:
>> On 2013年01月30日 6:43 AM, Michael Droettboom wrote:
>>> We don't currently have any support -- and we're still struggling in
>>> certain areas supporting RGBA consistently across the system.
>>>
>>> I think this would take someone writing a MEP (as a preliminary study of
>>> all of the changes that would be involved) and then shepherding it
>>> through implementation.
>>
>> My somewhat vague recollection is that CMYK is fundamentally
>> output-device dependent, and therefore it really doesn't make much sense
>> for a plotting library to support it directly. The conversion from RGBA
>> should be made by the publisher, knowing what the output device
>> characteristics are.
>>
>> Eric
>>
>>>
>>> Mike
>>>
>>> On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:
>>>> On 29/01/13 03:37:51 -0800, Dieter wrote:
>>>>> I was wondering if anything changed regarding this within the last 2.5 years
>>>>> since the last thread. Is there a way to produce CMYK with matplotlib?
>>>> Hello everybody,
>>>>
>>>> I would be also interested in how to produce CMYK graphics without
>>>> external fiddling.
>>>>
>>>> Cheers,
>>>> Ignas
From: Paul K. <np...@gm...> - 2013年01月30日 19:14:06
For what it's worth.
While the RGB system is native to monitor devices, since they produce
light of certain colours, CMYK is the colour system of printer
materials etc. since they absorb the colours, but reflect those we
see. That means designs must be made in CMYK for pronter materials
and in RGB for our devices. The response of each medium or device is
different. RGB will have part of the colour space not accessible in
some devices, while in printed materials it is different again. The
basic thing is colour space, while RGB and CMYK can be seen as a map.
In the real world you have to look at the product to see if the
colours come out right.
Not sure what to make of any implementation of this, but a simple
mapping should not be impossible.
Cheers,
 Paul
On Wed, Jan 30, 2013 at 6:38 PM, Eric Firing <ef...@ha...> wrote:
> On 2013年01月30日 6:43 AM, Michael Droettboom wrote:
>> We don't currently have any support -- and we're still struggling in
>> certain areas supporting RGBA consistently across the system.
>>
>> I think this would take someone writing a MEP (as a preliminary study of
>> all of the changes that would be involved) and then shepherding it
>> through implementation.
>
> My somewhat vague recollection is that CMYK is fundamentally
> output-device dependent, and therefore it really doesn't make much sense
> for a plotting library to support it directly. The conversion from RGBA
> should be made by the publisher, knowing what the output device
> characteristics are.
>
> Eric
>
>>
>> Mike
>>
>> On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:
>>> On 29/01/13 03:37:51 -0800, Dieter wrote:
>>>> I was wondering if anything changed regarding this within the last 2.5 years
>>>> since the last thread. Is there a way to produce CMYK with matplotlib?
>>> Hello everybody,
>>>
>>> I would be also interested in how to produce CMYK graphics without
>>> external fiddling.
>>>
>>> Cheers,
>>> Ignas
>>>
>>> ------------------------------------------------------------------------------
>>> Everyone hates slow websites. So do we.
>>> Make your web apps faster with AppDynamics
>>> Download AppDynamics Lite for free today:
>>> http://p.sf.net/sfu/appdyn_d2d_jan
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>> ------------------------------------------------------------------------------
>> Everyone hates slow websites. So do we.
>> Make your web apps faster with AppDynamics
>> Download AppDynamics Lite for free today:
>> http://p.sf.net/sfu/appdyn_d2d_jan
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
-- 
* * * * * * * * http://www.mssl.ucl.ac.uk/~npmk/ * * * *
Dr. N.P.M. Kuin (n....@uc...)
phone +44-(0)1483 (prefix) -204256 (work) -276110 (home)
mobile +44(0)7806985366 skype ID: npkuin
Mullard Space Science Laboratory – University College London –
Holmbury St Mary – Dorking – Surrey RH5 6NT– U.K.
From: Benjamin R. <ben...@ou...> - 2013年01月30日 19:03:07
On Wed, Jan 30, 2013 at 1:46 PM, Mads Ipsen <mad...@gm...> wrote:
> On 01/30/2013 05:03 PM, Benjamin Root wrote:
>
>
>
> On Tue, Jan 29, 2013 at 5:12 PM, Mads Ipsen <mad...@gm...> wrote:
>
>> Hi,
>>
>> I spend some time writing up the question below on Stackoverflow which
>> immediately was closed as a duplicate of other posts. To my best knowledge,
>> these posts did not answer my questions - so I'll try my luck here instead:
>>
>> I am using the qt backengine for setting up a QWidget that embeds a
>> matplotlib scene. When the widget is closed it appears that many of the
>> matplotlib objects that were part of the plot still are alive in Python
>> space.
>>
>> My question is basically the following: What actions should I take to
>> clean up the figure and axes objects etc. that were part of the plot
>> widget? The qt backend comes with a figure manager, but it appears a little
>> unclear how it should be used.
>>
>> I have attached a small unit test example that sets up a plot. When the
>> plot appears, just close it, and the test will garbage collects the plot,
>> and then display info of the matplotlib objects that are still alive in
>> Python space. Clearly both the path of the plot, and several Bbox objects
>> are still referenced.
>>
>> Our current unit test suite contains almost 10000 GUI tests and its
>> imperative that proper object space clean up is done after each test. Any
>> help is much appreciated.
>>
>> Best regards,
>>
>> Mads
>>
>
> Would "fig.clf()" do what you need?
>
> Ben Root
>
> Thanks for the feedback.
>
> The trick is to get this done automatically when the widget is closed. If
> you look in backend_qt4.py in the constructor of FigureCanvasQT you'll find
>
> QtCore.QObject.connect(self, QtCore.SIGNAL('destroyed()'),
> self.close_event)
>
> which should perform the steps below when close_event is called
>
> event = CloseEvent(s, self, guiEvent=guiEvent)
> self.callbacks.process(s, event)
>
> If I insert print statements, the signal is ignored with matplotlib 1.1.0,
> but called with 1.2.0 (which uses a lambda function in the above
> connection). But inspecting pythons objects after the close() method is
> called on the widget, it seems that - at least - the paths associated with
> plot actually still exist.
>
> So I'm just a bit worried if there already is existing functionality in
> the FigureCanvasQTAgg object that can do these things for me. And if so,
> how to use them?
>
> Best regards,
>
> Mads
>
>
Actually, now I am starting to recall a bug fix that came shortly after the
1.2.0 release related to properly setting up the destruction signal of the
QT figure object. Could you test your code-base with the maintenance
branch (1.2.x)? or master?
Cheers!
Ben Root
Hi Darhas,
How did you invert the axis? I find that it works for me to do:
ax.plot(x1,y1)
ax2 = ax.twiny()
ax2.plot(x2,y2)
ax2.invert_xaxis()
Jon
On Wed, 2013年01月30日 at 16:45 +0000, Dharhas Pothina wrote:
> Hi All,
> 
> 
> I'm trying to recreate some plots from a old 1970's era report. This
> is a single plot with an elevation-capacity curve and an
> elevation-area curve overlaid on top of each other.
> 
> 
> The plot needs to have a shared y-axis (elevation). The
> elevation-capacity curve has an x-axis along the bottom that goes left
> to right. The elevation-area curve has a x-axis with a different scale
> that goes right to left along the top.
> 
> 
> I've tried using twiny and reversing the second x axis but that ends
> up reversing both. Any help would be appreciated. I've attached a low
> res image of one of the original plots for reference.
> 
> 
> Thanks,
> 
> 
> - dharhas
-- 
______________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
js...@cf... 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
 cell: (781) 363-0035 USA
______________________________________________________________
From: Mads I. <mad...@gm...> - 2013年01月30日 18:46:30
On 01/30/2013 05:03 PM, Benjamin Root wrote:
>
>
> On Tue, Jan 29, 2013 at 5:12 PM, Mads Ipsen <mad...@gm... 
> <mailto:mad...@gm...>> wrote:
>
> Hi,
>
> I spend some time writing up the question below on Stackoverflow
> which immediately was closed as a duplicate of other posts. To my
> best knowledge, these posts did not answer my questions - so I'll
> try my luck here instead:
>
> I am using the qt backengine for setting up a QWidget that embeds
> a matplotlib scene. When the widget is closed it appears that many
> of the matplotlib objects that were part of the plot still are
> alive in Python space.
>
> My question is basically the following: What actions should I take
> to clean up the figure and axes objects etc. that were part of the
> plot widget? The qt backend comes with a figure manager, but it
> appears a little unclear how it should be used.
>
> I have attached a small unit test example that sets up a plot.
> When the plot appears, just close it, and the test will garbage
> collects the plot, and then display info of the matplotlib objects
> that are still alive in Python space. Clearly both the path of the
> plot, and several Bbox objects are still referenced.
>
> Our current unit test suite contains almost 10000 GUI tests and
> its imperative that proper object space clean up is done after
> each test. Any help is much appreciated.
>
> Best regards,
>
> Mads
>
>
> Would "fig.clf()" do what you need?
>
> Ben Root
>
Thanks for the feedback.
The trick is to get this done automatically when the widget is closed. 
If you look in backend_qt4.py in the constructor of FigureCanvasQT 
you'll find
 QtCore.QObject.connect(self, QtCore.SIGNAL('destroyed()'), 
self.close_event)
which should perform the steps below when close_event is called
 event = CloseEvent(s, self, guiEvent=guiEvent)
 self.callbacks.process(s, event)
If I insert print statements, the signal is ignored with matplotlib 
1.1.0, but called with 1.2.0 (which uses a lambda function in the above 
connection).But inspecting pythons objects after the close() method is 
called on the widget, it seems that - at least - the paths associated 
with plot actually still exist.
So I'm just a bit worried if there already is existing functionality in 
the FigureCanvasQTAgg object that can do these things for me. And if so, 
how to use them?
Best regards,
Mads
-- 
+-----------------------------------------------------+
| Mads Ipsen |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv | |
| DK-2500 Valby | phone: +45-29716388 |
| Denmark | email: mad...@gm... |
+----------------------+------------------------------+
From: Eric F. <ef...@ha...> - 2013年01月30日 18:38:30
On 2013年01月30日 6:43 AM, Michael Droettboom wrote:
> We don't currently have any support -- and we're still struggling in
> certain areas supporting RGBA consistently across the system.
>
> I think this would take someone writing a MEP (as a preliminary study of
> all of the changes that would be involved) and then shepherding it
> through implementation.
My somewhat vague recollection is that CMYK is fundamentally 
output-device dependent, and therefore it really doesn't make much sense 
for a plotting library to support it directly. The conversion from RGBA 
should be made by the publisher, knowing what the output device 
characteristics are.
Eric
>
> Mike
>
> On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:
>> On 29/01/13 03:37:51 -0800, Dieter wrote:
>>> I was wondering if anything changed regarding this within the last 2.5 years
>>> since the last thread. Is there a way to produce CMYK with matplotlib?
>> Hello everybody,
>>
>> I would be also interested in how to produce CMYK graphics without
>> external fiddling.
>>
>> Cheers,
>> Ignas
>>
>> ------------------------------------------------------------------------------
>> Everyone hates slow websites. So do we.
>> Make your web apps faster with AppDynamics
>> Download AppDynamics Lite for free today:
>> http://p.sf.net/sfu/appdyn_d2d_jan
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
Hi All,
I'm trying to recreate some plots from a old 1970's era report. This is a single plot with an elevation-capacity curve and an elevation-area curve overlaid on top of each other.
The plot needs to have a shared y-axis (elevation). The elevation-capacity curve has an x-axis along the bottom that goes left to right. The elevation-area curve has a x-axis with a different scale that goes right to left along the top.
I've tried using twiny and reversing the second x axis but that ends up reversing both. Any help would be appreciated. I've attached a low res image of one of the original plots for reference.
Thanks,
- dharhas
From: Michael D. <md...@st...> - 2013年01月30日 16:45:57
We don't currently have any support -- and we're still struggling in 
certain areas supporting RGBA consistently across the system.
I think this would take someone writing a MEP (as a preliminary study of 
all of the changes that would be involved) and then shepherding it 
through implementation.
Mike
On 01/30/2013 11:10 AM, Ignas Anikevičius wrote:
> On 29/01/13 03:37:51 -0800, Dieter wrote:
>> I was wondering if anything changed regarding this within the last 2.5 years
>> since the last thread. Is there a way to produce CMYK with matplotlib?
> Hello everybody,
>
> I would be also interested in how to produce CMYK graphics without
> external fiddling.
>
> Cheers,
> Ignas
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Ignas A. <ani...@gm...> - 2013年01月30日 16:11:00
On 29/01/13 03:37:51 -0800, Dieter wrote:
> I was wondering if anything changed regarding this within the last 2.5 years
> since the last thread. Is there a way to produce CMYK with matplotlib?
Hello everybody,
I would be also interested in how to produce CMYK graphics without
external fiddling.
Cheers,
Ignas
From: Benjamin R. <ben...@ou...> - 2013年01月30日 16:03:42
On Tue, Jan 29, 2013 at 5:12 PM, Mads Ipsen <mad...@gm...> wrote:
> Hi,
>
> I spend some time writing up the question below on Stackoverflow which
> immediately was closed as a duplicate of other posts. To my best knowledge,
> these posts did not answer my questions - so I'll try my luck here instead:
>
> I am using the qt backengine for setting up a QWidget that embeds a
> matplotlib scene. When the widget is closed it appears that many of the
> matplotlib objects that were part of the plot still are alive in Python
> space.
>
> My question is basically the following: What actions should I take to
> clean up the figure and axes objects etc. that were part of the plot
> widget? The qt backend comes with a figure manager, but it appears a little
> unclear how it should be used.
>
> I have attached a small unit test example that sets up a plot. When the
> plot appears, just close it, and the test will garbage collects the plot,
> and then display info of the matplotlib objects that are still alive in
> Python space. Clearly both the path of the plot, and several Bbox objects
> are still referenced.
>
> Our current unit test suite contains almost 10000 GUI tests and its
> imperative that proper object space clean up is done after each test. Any
> help is much appreciated.
>
> Best regards,
>
> Mads
>
>
Would "fig.clf()" do what you need?
Ben Root
On Tue, Jan 29, 2013 at 5:55 PM, Maria Liukis <li...@us...> wrote:
> Hello,
>
> I tested the following code on my Mac laptop and our production Linux
> server both running matplotlib V1.0.1. Both machines observe the same
> output from the code, so I was wondering if somebody is aware of the
> problem or if it's some undocumented feature of "pnpoly()" function from
> matplotlib.nxutils?
>
> I use matplotlib.nxutils.pnpoly() function from matplotlib to determine
> if point belongs to the polygon.
> The following code:
>
> >>> import numpy as np
> >>> import matplotlib.nxutils as nx
> >>> coords = np.array([[4.0, 1.0], [4.0, 4.0], [5.0, 5.0], [6.0, 4.0],
> [5.0, 0.0]])
>
> >>> nx.pnpoly(4.0, 1.0, coords)
> 1
> >>> nx.pnpoly(4.0, 4.0, coords)
> 1
> >>> nx.pnpoly(5.0, 5.0, coords)
> 0
> >>> nx.pnpoly(6.0, 4.0, coords)
> 0
> >>> nx.pnpoly(5.0, 0.0, coords)
> 0
>
> The question is why first two vertexes are considered to be inside of
> defined polygon, and last 3 vertexes are not? My guess, it's treating the
> polygon as a semi-open set, and I wonder if it can be changed to make all
> vertexes inclusive?
>
> Any help would be greatly appreciated.
>
> Many thanks,
> Masha
>
The documentation for pnpoly() for that version states:
"""
A point on the boundary may be treated as inside or outside.
 See `pnpoly <
http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html>`_
"""
Note that in version 1.2.0, the nxutils module was deprecated. pnpoly()
and points_inside_poly() are now merely wrappers around the polygon's
implementations of point-testing, which differs from the nxutils'
implementation, so you may get slightly different results.
Do note that the point-testing algorithm in matplotlib was more geared for
visualization purposes rather than for strict geometric needs. If you need
a more well-behaved point-tester (and faster if the polygon is "prepared"),
use the shapely package instead.
I hope that clears things up!
Cheers!
Ben Root
From: Jae-Joon L. <lee...@gm...> - 2013年01月30日 09:25:39
On Wed, Jan 30, 2013 at 7:11 AM, Skipper Seabold <jss...@gm...>wrote:
> Say I have a marker with a known size in points and I want to draw an
> arrow to this point. How can I get the ends points for the arrow? As you
> can see in the below, it overlaps the markers. I want to go to the edge. I
> can use shrinkA and shrinkB to do what I want, but I don't see how they're
> related to the points size**.5. Or should I somehow do the transformation
> using the known angle between the two points and the point itself. I don't
> know how to translate a point in data coordinates and the offset it in a
> certain direction by size**.5 points. Can anyone help clear this up?
>
Can you elaborate why you cannot just use shrinkA and shrinkB?
arrows = FancyArrowPatch(posA=(x1, y1), posB=(x2, y2),
 color = 'k',
 arrowstyle="-|>",
 mutation_scale=700**.5,
 shrinkA=(700**.5)*.5, shrinkB=(700**.5)*.5,
 connectionstyle="arc3")
What the problem of doing above?
Note that the unit of shrinkA and shrinkB is points, and they are
independent of mutation_scale, which only affects the size of the arrow.
Regards,
-JJ
From: Skipper S. <jss...@gm...> - 2013年01月30日 00:40:15
On Tue, Jan 29, 2013 at 5:11 PM, Skipper Seabold <jss...@gm...>wrote:
> Say I have a marker with a known size in points and I want to draw an
> arrow to this point. How can I get the ends points for the arrow? As you
> can see in the below, it overlaps the markers. I want to go to the edge. I
> can use shrinkA and shrinkB to do what I want, but I don't see how they're
> related to the points size**.5. Or should I somehow do the transformation
> using the known angle between the two points and the point itself. I don't
> know how to translate a point in data coordinates and the offset it in a
> certain direction by size**.5 points. Can anyone help clear this up?
>
> Skipper
>
> import matplotlib.pyplot as plt
> from matplotlib.patches import FancyArrowPatch
>
> point1 = (138.21, 19.5)
> x1, y1 = point1
> point2 = (67.0, 30.19)
> x2, y2 = point2
> size = 700
>
> fig, ax = plt.subplots()
> ax.scatter(*zip(point1, point2), marker='o', s=size)
>
> # if I need to get and use the angles
> dx = x2 - x1
> dy = y2 - y1
> d = np.sqrt(dx**2 + dy**2)
>
> arrows = FancyArrowPatch(posA=(x1, y1), posB=(x2, y2),
> color = 'k',
> arrowstyle="-|>",
> mutation_scale=700**.5,
> connectionstyle="arc3")
>
> ax.add_patch(arrows)
>
>
>
>
>
>
I went ahead and cross-posted to stackoverflow, if anyone wants to try
answer there. Seems to get more traffic than mailing lists these day.
http://stackoverflow.com/questions/14594786/fancyarrowpatch-to-edge-of-marker-with-known-size
Skipper
Hello,
I tested the following code on my Mac laptop and our production Linux server both running matplotlib V1.0.1. Both machines observe the same output from the code, so I was wondering if somebody is aware of the problem or if it's some undocumented feature of "pnpoly()" function from matplotlib.nxutils?
I use matplotlib.nxutils.pnpoly() function from matplotlib to determine if point belongs to the polygon. 
The following code:
>>> import numpy as np
>>> import matplotlib.nxutils as nx
>>> coords = np.array([[4.0, 1.0], [4.0, 4.0], [5.0, 5.0], [6.0, 4.0], [5.0, 0.0]])
>>> nx.pnpoly(4.0, 1.0, coords)
1
>>> nx.pnpoly(4.0, 4.0, coords)
1
>>> nx.pnpoly(5.0, 5.0, coords)
0
>>> nx.pnpoly(6.0, 4.0, coords)
0
>>> nx.pnpoly(5.0, 0.0, coords)
0
The question is why first two vertexes are considered to be inside of defined polygon, and last 3 vertexes are not? My guess, it's treating the polygon as a semi-open set, and I wonder if it can be changed to make all vertexes inclusive?
Any help would be greatly appreciated.
Many thanks,
Masha
--------------------
li...@us...
From: Mads I. <mad...@gm...> - 2013年01月29日 22:12:47
Attachments: plot.py
Hi,
I spend some time writing up the question below on Stackoverflow which 
immediately was closed as a duplicate of other posts. To my best 
knowledge, these posts did not answer my questions - so I'll try my luck 
here instead:
I am using the qt backengine for setting up a QWidget that embeds a 
matplotlib scene. When the widget is closed it appears that many of the 
matplotlib objects that were part of the plot still are alive in Python 
space.
My question is basically the following: What actions should I take to 
clean up the figure and axes objects etc. that were part of the plot 
widget? The qt backend comes with a figure manager, but it appears a 
little unclear how it should be used.
I have attached a small unit test example that sets up a plot. When the 
plot appears, just close it, and the test will garbage collects the 
plot, and then display info of the matplotlib objects that are still 
alive in Python space. Clearly both the path of the plot, and several 
Bbox objects are still referenced.
Our current unit test suite contains almost 10000 GUI tests and its 
imperative that proper object space clean up is done after each test. 
Any help is much appreciated.
Best regards,
Mads
-- 
+-----------------------------------------------------+
| Mads Ipsen |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv | |
| DK-2500 Valby | phone: +45-29716388 |
| Denmark | email: mad...@gm... |
+----------------------+------------------------------+
From: Skipper S. <jss...@gm...> - 2013年01月29日 22:12:15
Say I have a marker with a known size in points and I want to draw an arrow
to this point. How can I get the ends points for the arrow? As you can see
in the below, it overlaps the markers. I want to go to the edge. I can use
shrinkA and shrinkB to do what I want, but I don't see how they're related
to the points size**.5. Or should I somehow do the transformation using the
known angle between the two points and the point itself. I don't know how
to translate a point in data coordinates and the offset it in a certain
direction by size**.5 points. Can anyone help clear this up?
Skipper
import matplotlib.pyplot as plt
from matplotlib.patches import FancyArrowPatch
point1 = (138.21, 19.5)
x1, y1 = point1
point2 = (67.0, 30.19)
x2, y2 = point2
size = 700
fig, ax = plt.subplots()
ax.scatter(*zip(point1, point2), marker='o', s=size)
# if I need to get and use the angles
dx = x2 - x1
dy = y2 - y1
d = np.sqrt(dx**2 + dy**2)
arrows = FancyArrowPatch(posA=(x1, y1), posB=(x2, y2),
 color = 'k',
 arrowstyle="-|>",
 mutation_scale=700**.5,
 connectionstyle="arc3")
ax.add_patch(arrows)
From: Paul H. <pmh...@gm...> - 2013年01月29日 17:53:45
On Mon, Jan 28, 2013 at 9:41 PM, Boris Vladimir Comi <
gl...@co...> wrote:
>
> #! /usr/bin/python
> import numpy as np
> data =
> np.loadtxt('path-tracks.csv',dtype=np.str,delimiter=',',skiprows=1)
> print data
>
> [['19.70' '-95.20' '2/5/04 6:45 AM' '1' '-38' 'CCM']
> ['19.70' '-94.70' '2/5/04 7:45 AM' '1' '-48' 'CCM']
> ['19.30' '-93.90' '2/5/04 8:45 AM' '1' '-60' 'CCM']
> ['19.00' '-93.50' '2/5/04 9:45 AM' '1' '-58' 'CCM']
> ['19.00' '-92.80' '2/5/04 10:45 AM' '1' '-50' 'CCM']
> ['19.20' '-92.60' '2/5/04 11:45 AM' '1' '-40' 'CCM']
> ['19.90' '-93.00' '2/5/04 12:45 PM' '1' '-43' 'CCM']
> ['20.00' '-92.80' '2/5/04 1:15 PM' '1' '-32' 'CCM']
> ['23.10' '-100.20' '30/5/04 4:45 AM' '2' '-45' 'SCME']
> ['23.20' '-100.00' '30/5/04 5:45 AM' '2' '-56' 'SCME']
> ['23.30' '-100.00' '30/5/04 6:45 AM' '2' '-48' 'SCME']
> ['23.30' '-100.20' '30/5/04 7:45 AM' '2' '-32' 'SCME']
> ['23.40' '-99.00' '31/5/04 3:15 AM' '3' '-36' 'SCM']
> ['23.50' '-98.90' '31/5/04 4:15 AM' '3' '-46' 'SCM']
> ['23.60' '-98.70' '31/5/04 5:15 AM' '3' '-68' 'SCM']
> ['23.70' '-98.80' '31/5/04 6:15 AM' '3' '-30' 'SCM']]
>
> with the above code I get an array whose columns represent: [Lat, Lon,
> Date, Identifier, Temperatures, Category]. Now, I will put a code that
> allows me to plot the first and second column on the map of Mexico:
>
>
>
> #!/usr/bin/python
> #Project Storm: Plot trajectories of convective systems
> #import libraries
>
> import numpy as np
> from mpl_toolkits.basemap import Basemap
> import matplotlib.pyplot as pl
>
> # Plot a map for Mexico
>
> m = Basemap(projection='cyl', llcrnrlat=12,
> urcrnrlat=35,llcrnrlon=-120, urcrnrlon=-80, resolution='c',
> area_thresh=1000.)
> m.bluemarble()
> m.drawcoastlines(linewidth=0.5)
> m.drawcountries(linewidth=0.5)
> m.drawstates(linewidth=0.5)
>
> #Draw parallels and meridians
>
> m.drawparallels(np.arange(10.,35.,5.))
> m.drawmeridians(np.arange(-120.,-80.,10.))
> m.drawmapboundary(fill_color='aqua')
>
> #Open file whit numpy
>
> data = np.loadtxt('path-tracks.csv', dtype=np.str,delimiter=' , ',
> skiprows=1)
> latitude = data[:,0]
> longitude = data[:,1]
>
> #Convert latitude and longitude to coordinates X and Y
>
> x, y = m(longitude, latitude)
>
> #Plot the points on the map
>
> pl.plot(x,y,'ro-')
> pl.show()
>
>
>
> The points plotted on the map, corresponding to three different paths with a
> line connecting all points. Mi final idea is to draw a line connecting
> the points associated with each path, How I can do this? or How should I
> structure my data to plot the different paths?
>
> is posible draw an identifier or a mark for each path?
>
>
> how I can set the size of the figure so that it can distinguish the
> separation between the points?
>
Boris,
I don't have the time to look into this in great detail. However, in
general, you can get your current axes and figure objects with the
following:
ax = pl.gca()
fig = pl.gcf()
Then you can use the 'annotate' method of 'ax' to call out each path. (See
matplotlib,org/examples for help with its use). And then use:
fig.set_figwidth(7) # example
fig.set_figheight(7) # example
...to make the figure bigger. Finally, use
fig.tight_layout()
to fill up the newly enlarged figure.
Hope that helps,
-paul

Showing results of 170

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