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



Showing results of 26

1 2 > >> (Page 1 of 2)
From: Anthony F. <ant...@gm...> - 2012年10月03日 21:27:39
Hi Jianbao,
> Do you have any references, such as screen shots, gallery, examples, or
> whatever? I am very curious to see what people can do with matplotlib.
If you can find a Windows machine (or a Windows VM) and stomach a 60
MB download, visit
http://www.convergent.ca/products/raven/downloads.html and grab the
"RAVEN Viewer" and "Demo RAVEN Workspace". When starting the program
for the first time, don't worry about selecting a license, select
"Viewer Only". Open the demo file. All plotting, annotating, legends,
etc are handled by matplotlib. wxPython provides the rest of the GUI
elements. The entirety of the program except for the engineering
backend (which isn't exposed in the viewer anyway) is written in
Python.
If you can't get to a Windows box, then just visit
http://www.convergent.ca/raven to get a sense of the application.
Cheers,
Anthony.
From: Eric F. <ef...@ha...> - 2012年10月03日 18:39:53
On 2012年10月03日 8:11 AM, Charleux Ludovic wrote:
> Thanks for your multiple answers. I'll try the same manipulation with
> the 1.2 version as soon as possible. Concerning the debate between the
> use of None and numpy.nan, I tryed both methods before posting and they
> both lead to the same bug on my version. I'm using the None/numpy.nan
> trick to plot finite element 2D meshes (Matplotlib allows very neat
> vectorial plots) and I often adjust xlim/ylim to magnify interesting
> zones and so this bug is everywhere. I'm not totally sure but I think
> the bug was not present in the 1.0.x versions I tested before.
Please--there is *no* None trick. This is not a debate. Please do *not* 
use None. Use np.nan or a masked array. Unless you go into the lower 
levels of the api, mpl will convert a floating-point array with nans 
into a masked array for operations such as auto-scaling.
If you must use an object array (e.g., as Ben notes, if you are using 
datetime objects--it must be something for which there is a registered 
converter, because at the plotting level mpl works with floats), then 
make it a masked array if you need to put gaps in it. If that does not 
work, then it is a bug in the conversion process. Masked arrays should 
work for any input type supported by mpl.
Eric
>
> Regards.
>
> Ludovic Charleux
>
> 2012年10月3日 Benjamin Root <ben...@ou... <mailto:ben...@ou...>>
>
>
>
> On Wed, Oct 3, 2012 at 1:02 PM, Phil Elson <pel...@gm...
> <mailto:pel...@gm...>> wrote:
>
> I don't get this on matplotlib/master (and therefore probably
> not on 1.2rc2).
>
> I'm pretty sure masked array line plotting was fixed at some
> point this release cycle (I cannot find the appropriate github
> issue to link to), so I suggest this is a known bug with 1.1.1
> and fixed in 1.2. Just to be clear, I am using the TkAgg
> backend, and there is a remote possiblity that this bug is
> backend dependent. Is there any chance you could test this with
> the latest release candidate?
>
> Many Thanks,
>
>
> This issue may be dependent upon which version of Numpy one is
> using. As Eric pointed out, one should be getting an object array
> if you have a None in the list. On top of that, I wouldn't be
> surprised if the different backends handled this object array
> differently.
>
> As far as I am concerned, using None in the list is the bug and is
> not only unsupported, but should be actively discouraged. Use NaNs
> or masked arrays instead.
>
> (and to ward off the inevitable question, I would advise against
> explicitly checking for object arrays because there are times when
> it is correct to have such arrays, i.e., python decimal or datetime
> objects).
>
> Cheers!
> Ben Root
>
>
>
>
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Gökhan S. <gok...@gm...> - 2012年10月03日 18:26:49
I was after a similar issue once, and asked this question at SO:
http://stackoverflow.com/questions/7802366/matplotlib-window-layout-questions
Manual positioning is fine sometimes if I want to really place windows
side-by-side for comparison purposes. However it would be nicer if mpl were
to remember positions of figures so that it would place the new figures
exactly the same place where they were before closed.
Actually, I have similar complaint for other windows opened in my Fedora 16
(Gnome 3.2) system. Say for instance I start a gvim instance, then move its
window to my second monitor, but closing and re-opening it, the window's
position is restored to the first monitor. Same thing is for evince,
sometimes it opens pdf's on the first monitor, sometimes on the second,
randomly position at least for my observation. I don't know where to look
for a solution; in each specific program, or windows manager should handle
/ remember positions of windows on screens.
On Tue, Oct 2, 2012 at 9:38 PM, Jianbao Tao <jia...@gm...> wrote:
> Hi,
>
> Is it possible to specify the position of a figure window when one is
> created? This will be a killing feature if one wants to put the figure
> window at the right place in the screen automatically. It is annoying if
> ones has to drag a new figure to a comfortable place in the screen every
> time a new figure is created.
>
> Jianbao
>
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
-- 
Gökhan
From: Charleux L. <lud...@gm...> - 2012年10月03日 18:11:11
Thanks for your multiple answers. I'll try the same manipulation with the
1.2 version as soon as possible. Concerning the debate between the use of
None and numpy.nan, I tryed both methods before posting and they both lead
to the same bug on my version. I'm using the None/numpy.nan trick to plot
finite element 2D meshes (Matplotlib allows very neat vectorial plots) and
I often adjust xlim/ylim to magnify interesting zones and so this bug is
everywhere. I'm not totally sure but I think the bug was not present in the
1.0.x versions I tested before.
Regards.
Ludovic Charleux
2012年10月3日 Benjamin Root <ben...@ou...>
>
>
> On Wed, Oct 3, 2012 at 1:02 PM, Phil Elson <pel...@gm...> wrote:
>
>> I don't get this on matplotlib/master (and therefore probably not on
>> 1.2rc2).
>>
>> I'm pretty sure masked array line plotting was fixed at some point this
>> release cycle (I cannot find the appropriate github issue to link to), so I
>> suggest this is a known bug with 1.1.1 and fixed in 1.2. Just to be clear,
>> I am using the TkAgg backend, and there is a remote possiblity that this
>> bug is backend dependent. Is there any chance you could test this with the
>> latest release candidate?
>>
>> Many Thanks,
>>
>>
> This issue may be dependent upon which version of Numpy one is using. As
> Eric pointed out, one should be getting an object array if you have a None
> in the list. On top of that, I wouldn't be surprised if the different
> backends handled this object array differently.
>
> As far as I am concerned, using None in the list is the bug and is not
> only unsupported, but should be actively discouraged. Use NaNs or masked
> arrays instead.
>
> (and to ward off the inevitable question, I would advise against
> explicitly checking for object arrays because there are times when it is
> correct to have such arrays, i.e., python decimal or datetime objects).
>
> Cheers!
> Ben Root
>
>
From: Jianbao T. <jia...@gm...> - 2012年10月03日 18:10:58
Dear Anthony,
Thank you so much for your advice. I embedded my response below.
Jianbao
On Wed, Oct 3, 2012 at 10:49 AM, Anthony Floyd <ant...@gm...>wrote:
> Hi Jianbao,
>
> First some context: at the company I work for, we've been using
> matplotlib to do much of what you want to do for the past 4 years. We
> have created our own application for plotting, interrogating, and
> manipulating time-series data coming from both simulations and
> measurements, although from a completely different domain (in our case
> it's virtual manufacturing of composite materials). In the past two
> years, we've also been using matplotlib to plot in more-or-less
> realtime data from a cloud industrial sensors (temperature, pressure,
> etc).
>
Do you have any references, such as screen shots, gallery, examples, or
whatever? I am very curious to see what people can do with matplotlib.
> > After reading the matplotlib documents and trying out several little
> > examples for a few days, I now have a feeling that matplotlib at least
> has
> > most of the infrastructure ready for my purposes. One thing that bothers
> me
> > a little bit is that the plotting speed seems to be a little slow. But
> IDL
> > had the same problem in the first place too. As computers became faster
> and
> > faster, that problem just became less and less important. I expect the
> same
> > thing will happen to matplotlib too.
>
> This is true, matplotlib can be slow, particularly for large data sets
> and many data sets. The trick is to downsample (and use tiling if
> you're going to be panning around a lot) what you're actually plotting
> before handing it off to the plot. I think more recent versions of
> matplotlib handle some of this for you, but we've found that it's
> faster to do the downsampling ourselves.
>
As a matter of fact, I considered writing intermediate routines to handle
downsampling before feeding data in matplotlib. However, you will have to
do anti-alias filtering for that. So, I wasn't sure downsampling would
boost the speed anyway. But based on your experience, this is probably a
good idea. :-)
>
> > Now let me turn to technical stuff. What I want is a time-series plotting
> [...]
> > sufficient. Third, the system should have minimal dependencies for the
> sake
> > of portability and installation easiness. As for now, I don't want any
> > dependencies beyond numpy, scipy, and matplotlib. Ipython would be a
> highly
> > recommended tool, but the system should be just fine without it.
>
> You're going to need more than that. At the very least you're going to
> need a widget framework like wxPython, pyQT, pyGTK, or some such.
> These will provide you with all the window management, widget
> controls, and so on. Our preference is wxPython but YMMV.
>
One of my concerns about third-party widget framework is that sometimes it
is difficult to install them. In fact, I tried to install wxPython on my
Mac (10.8 OS X) last night, but didn't succeed. Another concern of mine is
that I don't know how efficient or how easy to interact with a thrid-party
widget framework from a python interpreter. However, again, based on your
reply, it doesn't seem to be a big issue after all.
>
> > After weighing all the options, I sense that I will probably be better
> off
> > to use the matplotlib library directly, rather than the convenient
> utilities
> > provided by pyplot. However, I am having a hard time to find good
> > instructions for using the matplotlib infrastructure. So, I would like to
> > hear some references on that. I also would like to hear general advice
> about
> > how to construct such a system so that its structure is consistent with
> > matplotlib conventions. Other comments and advice are warmly welcome too.
>
> Absolutely, you'll want to use the API rather than the utility
> functions. The best reference for that is the online documentation at
> matplotlib.org. In the past we've found the source code documentation
> (or, say, that generated by doxygen) more helpful than the Sphinx
> documentation, but frankly our matplotlib bits are pretty stable now
> and we haven't had to use the documentation for a while (perhaps it's
> better now).
>
> Good luck! We've been very happy with our design choices, and get
> nothing but positive feedback on how our plots look and feel.
> matplotlib and the amazing active community around it have everything
> to do with that.
>
I am very glad to hear that. :-)
>
> Anthony.
>
From: Jianbao T. <jia...@gm...> - 2012年10月03日 17:53:26
Ben,
Thanks for your reply. :-)
This first link you mentioned seems to be a workaround. However, I am
wondering if there is a way to set the position before the figure window is
realized. Besides, the solution in the first link uses
pyplot.get_current_fig_manager(). However, I don't see a counterpart of the
figure manager in the matplotlib classes. From a developer perspective, it
would be great if you can control the figure position during the
initialization of the figure window, i.e., before there is any current
figure window. However, I don't know if this is too much for now for
matplotlib development.
Cheers,
Jianbao
On Wed, Oct 3, 2012 at 6:57 AM, Benjamin Root <ben...@ou...> wrote:
>
> On Tue, Oct 2, 2012 at 11:38 PM, Jianbao Tao <jia...@gm...>wrote:
>
>> Hi,
>>
>> Is it possible to specify the position of a figure window when one is
>> created? This will be a killing feature if one wants to put the figure
>> window at the right place in the screen automatically. It is annoying if
>> ones has to drag a new figure to a comfortable place in the screen every
>> time a new figure is created.
>>
>> Jianbao
>>
>>
> Jianbao,
>
> This question has come up before, and I have never really felt that a good
> solution was ever given. However, here are some discussions and some
> solutions for it.
>
>
> http://stackoverflow.com/questions/7449585/how-do-you-set-the-absolute-position-of-figure-windows-with-matplotlib
>
> http://www.mail-archive.com/mat...@li.../msg14387.html
>
> http://stackoverflow.com/questions/11336835/ask-window-manager-to-place-matplotlib-plot-windows-always-on-top
>
> I know there are more discussions than this, mostly related to controlling
> your window manager, but I can't seem to find them right now.
>
> Cheers!
> Ben Root
>
>
From: Benjamin R. <ben...@ou...> - 2012年10月03日 17:48:27
On Wed, Oct 3, 2012 at 1:02 PM, Phil Elson <pel...@gm...> wrote:
> I don't get this on matplotlib/master (and therefore probably not on
> 1.2rc2).
>
> I'm pretty sure masked array line plotting was fixed at some point this
> release cycle (I cannot find the appropriate github issue to link to), so I
> suggest this is a known bug with 1.1.1 and fixed in 1.2. Just to be clear,
> I am using the TkAgg backend, and there is a remote possiblity that this
> bug is backend dependent. Is there any chance you could test this with the
> latest release candidate?
>
> Many Thanks,
>
>
This issue may be dependent upon which version of Numpy one is using. As
Eric pointed out, one should be getting an object array if you have a None
in the list. On top of that, I wouldn't be surprised if the different
backends handled this object array differently.
As far as I am concerned, using None in the list is the bug and is not only
unsupported, but should be actively discouraged. Use NaNs or masked arrays
instead.
(and to ward off the inevitable question, I would advise against explicitly
checking for object arrays because there are times when it is correct to
have such arrays, i.e., python decimal or datetime objects).
Cheers!
Ben Root
From: Phil E. <pel...@gm...> - 2012年10月03日 17:03:04
I don't get this on matplotlib/master (and therefore probably not on
1.2rc2).
I'm pretty sure masked array line plotting was fixed at some point this
release cycle (I cannot find the appropriate github issue to link to), so I
suggest this is a known bug with 1.1.1 and fixed in 1.2. Just to be clear,
I am using the TkAgg backend, and there is a remote possiblity that this
bug is backend dependent. Is there any chance you could test this with the
latest release candidate?
Many Thanks,
On 3 October 2012 17:47, Charleux Ludovic <lud...@gm...>wrote:
> Hello Phil,
>
> Your example does not trigger the bug because you don't zoom or specifiy
> xlim/ylim so that some points are (far) out of the current axis. For
> example, if you just add these lines to your code, you'll have it:
>
>
> import matplotlib.pyplot as plt
> import numpy as np
> x = np.array([0, 1, None, 1, 0])
> y = np.array([0, 1, None, 0, 1])
> plt.plot(x, y)
> # Add this or zoom in the upper left corner.
> plt.xlim([0., 0.2])
> plt.ylim([.9, 1.1])
> plt.show()
>
> Here I see an horizontal line where I should see a 45° tilted line. And
> the nasty part of this bug is that it only affects lines declared with at
> least one None in them where continuous lines seem unaffected as shown here:
>
>
> import matplotlib.pyplot as plt
> import numpy as np
> x0 = np.array([0, 1])
> y0 = np.array([0, 1])
> x1 = np.array([1, 0])
> y1 = np.array([0, 1])
> plt.plot(x0, y0)
> plt.plot(x1, y1)
> # Add this
> plt.xlim([0., 0.2])
> plt.ylim([.9, 1.1])
> plt.show()
>
> I get a 45° line.
>
> Ludovic
>
> ps: I use matplotlib 1.1.1rc (stock version available on repositories) on
> Xubuntu 12.04 (precise) 64-bit
>
>
> 2012年10月3日 Phil Elson <pel...@gm...>
>
>> This works for me with 1.2 (not tested before that):
>>
>>
>> import matplotlib.pyplot as plt
>> import numpy as np
>>
>>
>> x = np.array([0, 1, None, 1, 0])
>> y = np.array([0, 1, None, 0, 1])
>>
>> plt.plot(x, y)
>>
>> plt.show()
>>
>>
>>
>> I get two distinct lines crossing each other at (0.5, 0.5)
>>
>>
>> HTH,
>>
>
>
>
> --
>
> *Ludovic Charleux*
> Assistant Professor
>
> *SYMME / Polytech' Annecy Chambery *
> <http://www.polytech.univ-savoie.fr/index.php?id=symme_accueil&L=1> Domaine
> Universitaire, BP 80439
> <http://maps.google.com/maps?q=Domaine+Universitaire%2C+BP+80439%2C+Annecy+le+vieux+cedex%2C+F74944%2C+France&hl=en>Annecy le vieux cedex, F74944 France
> *Work:* 33 (0) 4 50 09 65 62
> *Fax:* 33 (0) 4 50 09 65 43
> *Email:* lud...@un...
> *Professional Profile<http://fr.linkedin.com/pub/ludovic-charleux/22/611/997>
> *
> See who we know in common<http://www.linkedin.com/e/wwk/79152451/?hs=false&tok=1JhCnH2Q-kS5g1> Want
> a signature like this?<http://www.linkedin.com/e/sig/79152451/?hs=false&tok=3gCpNtR8KkS5g1>
>
From: Sterling S. <sm...@fu...> - 2012年10月03日 17:01:50
Jianbao,
The one thing I would add to Anthony's response, which is a good summary of what I would say, is that you should look into the animation aspects of matplotlib, and the xdata and ydata attributes of lines/axes for speed in replotting mostly similar situations. I regret having not learned of these before I made an application, and I have yet to go back and implement these faster methods.
-Sterling
On Oct 3, 2012, at 9:49AM, Anthony Floyd wrote:
> Hi Jianbao,
> 
> First some context: at the company I work for, we've been using
> matplotlib to do much of what you want to do for the past 4 years. We
> have created our own application for plotting, interrogating, and
> manipulating time-series data coming from both simulations and
> measurements, although from a completely different domain (in our case
> it's virtual manufacturing of composite materials). In the past two
> years, we've also been using matplotlib to plot in more-or-less
> realtime data from a cloud industrial sensors (temperature, pressure,
> etc).
> 
>> After reading the matplotlib documents and trying out several little
>> examples for a few days, I now have a feeling that matplotlib at least has
>> most of the infrastructure ready for my purposes. One thing that bothers me
>> a little bit is that the plotting speed seems to be a little slow. But IDL
>> had the same problem in the first place too. As computers became faster and
>> faster, that problem just became less and less important. I expect the same
>> thing will happen to matplotlib too.
> 
> This is true, matplotlib can be slow, particularly for large data sets
> and many data sets. The trick is to downsample (and use tiling if
> you're going to be panning around a lot) what you're actually plotting
> before handing it off to the plot. I think more recent versions of
> matplotlib handle some of this for you, but we've found that it's
> faster to do the downsampling ourselves.
> 
>> Now let me turn to technical stuff. What I want is a time-series plotting
> [...]
>> sufficient. Third, the system should have minimal dependencies for the sake
>> of portability and installation easiness. As for now, I don't want any
>> dependencies beyond numpy, scipy, and matplotlib. Ipython would be a highly
>> recommended tool, but the system should be just fine without it.
> 
> You're going to need more than that. At the very least you're going to
> need a widget framework like wxPython, pyQT, pyGTK, or some such.
> These will provide you with all the window management, widget
> controls, and so on. Our preference is wxPython but YMMV.
> 
>> After weighing all the options, I sense that I will probably be better off
>> to use the matplotlib library directly, rather than the convenient utilities
>> provided by pyplot. However, I am having a hard time to find good
>> instructions for using the matplotlib infrastructure. So, I would like to
>> hear some references on that. I also would like to hear general advice about
>> how to construct such a system so that its structure is consistent with
>> matplotlib conventions. Other comments and advice are warmly welcome too.
> 
> Absolutely, you'll want to use the API rather than the utility
> functions. The best reference for that is the online documentation at
> matplotlib.org. In the past we've found the source code documentation
> (or, say, that generated by doxygen) more helpful than the Sphinx
> documentation, but frankly our matplotlib bits are pretty stable now
> and we haven't had to use the documentation for a while (perhaps it's
> better now).
> 
> Good luck! We've been very happy with our design choices, and get
> nothing but positive feedback on how our plots look and feel.
> matplotlib and the amazing active community around it have everything
> to do with that.
> 
> Anthony.
> 
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Eric F. <ef...@ha...> - 2012年10月03日 16:55:51
On 2012年10月03日 4:24 AM, Charleux Ludovic wrote:
> Hello,
>
> I want to plot multiple lines using matplotlib.pyplot.plot using the
> None separator: when i zoom or plot lines that go far away from the axis
> limits, they their direction is changed. I encounter a bug shown by the
> folowing code:
>
> import matplotlib.pyplot as plt
>
> # Single line
> x = [0., 1., 1., 0., 0.]
> y = [0., 0., 1., 1., 0.]
>
> # Multiple lines separated by None
> x2 = [0., 1., None ,1., 0.]
> y2 = [0., 0., None, 1., 1.]
I'm surprised this works at all. I don't think we have ever 
intentionally supported object arrays, which is what you get when you 
take np.array() of a list with a None in it.
If you want to use this method to make a set of line segments, use 
np.nan in place of None.
Eric
>
> # Let's plot
> fig = plt.figure(0)
> plt.clf()
> ax = fig.add_subplot(121)
> plt.title('No zoom')
> plt.xlim([-1, 2])
> plt.ylim([-1, 2])
> plt.plot(x,y, 'bo-', label = 'This is ok')
> plt.plot(x2,y2, 'ro-', label = 'This is not ok')
> plt.legend()
> ax = fig.add_subplot(122)
> plt.title('With zoom one a corner')
> plt.xlim([-.05, .1])
> plt.ylim([.95, 1.05])
> plt.plot(x,y, 'bo-', label = 'This is ok')
> plt.plot(x2,y2, 'ro-', label = 'This is not ok')
> plt.legend()
> plt.show()
>
> I tried several approaches to solve the problem but never succeeded. I
> don't wich to use 2D arrays or LineCollections because this solution is
> faster and allows the declaration of all lines with a single label and
> color. Has anyone any idea ?
>
> Regards.
>
>
>
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Anthony F. <ant...@gm...> - 2012年10月03日 16:49:17
Hi Jianbao,
First some context: at the company I work for, we've been using
matplotlib to do much of what you want to do for the past 4 years. We
have created our own application for plotting, interrogating, and
manipulating time-series data coming from both simulations and
measurements, although from a completely different domain (in our case
it's virtual manufacturing of composite materials). In the past two
years, we've also been using matplotlib to plot in more-or-less
realtime data from a cloud industrial sensors (temperature, pressure,
etc).
> After reading the matplotlib documents and trying out several little
> examples for a few days, I now have a feeling that matplotlib at least has
> most of the infrastructure ready for my purposes. One thing that bothers me
> a little bit is that the plotting speed seems to be a little slow. But IDL
> had the same problem in the first place too. As computers became faster and
> faster, that problem just became less and less important. I expect the same
> thing will happen to matplotlib too.
This is true, matplotlib can be slow, particularly for large data sets
and many data sets. The trick is to downsample (and use tiling if
you're going to be panning around a lot) what you're actually plotting
before handing it off to the plot. I think more recent versions of
matplotlib handle some of this for you, but we've found that it's
faster to do the downsampling ourselves.
> Now let me turn to technical stuff. What I want is a time-series plotting
[...]
> sufficient. Third, the system should have minimal dependencies for the sake
> of portability and installation easiness. As for now, I don't want any
> dependencies beyond numpy, scipy, and matplotlib. Ipython would be a highly
> recommended tool, but the system should be just fine without it.
You're going to need more than that. At the very least you're going to
need a widget framework like wxPython, pyQT, pyGTK, or some such.
These will provide you with all the window management, widget
controls, and so on. Our preference is wxPython but YMMV.
> After weighing all the options, I sense that I will probably be better off
> to use the matplotlib library directly, rather than the convenient utilities
> provided by pyplot. However, I am having a hard time to find good
> instructions for using the matplotlib infrastructure. So, I would like to
> hear some references on that. I also would like to hear general advice about
> how to construct such a system so that its structure is consistent with
> matplotlib conventions. Other comments and advice are warmly welcome too.
Absolutely, you'll want to use the API rather than the utility
functions. The best reference for that is the online documentation at
matplotlib.org. In the past we've found the source code documentation
(or, say, that generated by doxygen) more helpful than the Sphinx
documentation, but frankly our matplotlib bits are pretty stable now
and we haven't had to use the documentation for a while (perhaps it's
better now).
Good luck! We've been very happy with our design choices, and get
nothing but positive feedback on how our plots look and feel.
matplotlib and the amazing active community around it have everything
to do with that.
Anthony.
From: Charleux L. <lud...@gm...> - 2012年10月03日 16:48:00
Hello Phil,
Your example does not trigger the bug because you don't zoom or specifiy
xlim/ylim so that some points are (far) out of the current axis. For
example, if you just add these lines to your code, you'll have it:
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0, 1, None, 1, 0])
y = np.array([0, 1, None, 0, 1])
plt.plot(x, y)
# Add this or zoom in the upper left corner.
plt.xlim([0., 0.2])
plt.ylim([.9, 1.1])
plt.show()
Here I see an horizontal line where I should see a 45° tilted line. And the
nasty part of this bug is that it only affects lines declared with at least
one None in them where continuous lines seem unaffected as shown here:
import matplotlib.pyplot as plt
import numpy as np
x0 = np.array([0, 1])
y0 = np.array([0, 1])
x1 = np.array([1, 0])
y1 = np.array([0, 1])
plt.plot(x0, y0)
plt.plot(x1, y1)
# Add this
plt.xlim([0., 0.2])
plt.ylim([.9, 1.1])
plt.show()
I get a 45° line.
Ludovic
ps: I use matplotlib 1.1.1rc (stock version available on repositories) on
Xubuntu 12.04 (precise) 64-bit
2012年10月3日 Phil Elson <pel...@gm...>
> This works for me with 1.2 (not tested before that):
>
>
> import matplotlib.pyplot as plt
> import numpy as np
>
>
> x = np.array([0, 1, None, 1, 0])
> y = np.array([0, 1, None, 0, 1])
>
> plt.plot(x, y)
>
> plt.show()
>
>
>
> I get two distinct lines crossing each other at (0.5, 0.5)
>
>
> HTH,
>
-- 
 *Ludovic Charleux*
Assistant Professor
*SYMME / Polytech' Annecy Chambery *
<http://www.polytech.univ-savoie.fr/index.php?id=symme_accueil&L=1> Domaine
Universitaire, BP 80439
<http://maps.google.com/maps?q=Domaine+Universitaire%2C+BP+80439%2C+Annecy+le+vieux+cedex%2C+F74944%2C+France&hl=en>Annecy
le vieux cedex, F74944 France
 *Work:* 33 (0) 4 50 09 65 62
*Fax:* 33 (0) 4 50 09 65 43
*Email:* lud...@un...
 *Professional Profile<http://fr.linkedin.com/pub/ludovic-charleux/22/611/997>
*
 See who we know in
common<http://www.linkedin.com/e/wwk/79152451/?hs=false&tok=1JhCnH2Q-kS5g1>
Want
a signature like
this?<http://www.linkedin.com/e/sig/79152451/?hs=false&tok=3gCpNtR8KkS5g1>
From: Jianbao T. <jia...@gm...> - 2012年10月03日 15:29:45
Dear all,
As some of you might have noticed, I am asking questions frequently
recently, most of which are naive ones. The reason for this is that I
recently decided to develop a satellite data viewer with matplotlib, and I
am new to both python and matplotlib.
Here is a little background of this decision. I am a postdoc in the space
physics field, where a lot of people watch and analyze satellite data for a
living. The data are time-series data by nature. As for now, a lot of
people use packages based on IDL to navigate their data. I myself is one of
them too. For now. :-) One big problem with IDL is that it is very
expensive because it doesn't have a broad enough user base to drive their
cost down. Another big problem is that the company that is developing IDL
doesn't seem to work in the right direction. For example, more than 99% of
the time of more than 99% of the IDL users use the so-called direct
graphics system in IDL, but IDL hasn't upgraded this system since, I don't
know, maybe early 90s. Compared to what matplotlib can offer, the on-screen
graphics quality of the IDL direct graphics is simply "ugly", which is a
big reason why I want to switch to matplotlib. There are also some other
frequently-used nice features in matplotlib that IDL doesn't have.
After reading the matplotlib documents and trying out several little
examples for a few days, I now have a feeling that matplotlib at least has
most of the infrastructure ready for my purposes. One thing that bothers me
a little bit is that the plotting speed seems to be a little slow. But IDL
had the same problem in the first place too. As computers became faster and
faster, that problem just became less and less important. I expect the same
thing will happen to matplotlib too.
Now let me turn to technical stuff. What I want is a time-series plotting
system like the following. First, it manages all the figure windows it
generates, including the positions and looks of the figure windows. A
common use case for such a system would be that the user is also analyzing
the data while watching the time-series data,and hence the user likely
needs to plot some temporary results, such as a snapshot of particle
distribution function, but doesn't want to screw up the time-series plot.
Therefore, it will be nice that the plotting windows of the time-series
data are managed particularly. Second, it should come with a navigation
toolbar that facilitates the data navigation. The current navigation
toolbar widget is nice and probably suit more than 50% percent of my needs,
but it's not sufficient. Third, the system should have minimal dependencies
for the sake of portability and installation easiness. As for now, I don't
want any dependencies beyond numpy, scipy, and matplotlib. Ipython would be
a highly recommended tool, but the system should be just fine without it.
After weighing all the options, I sense that I will probably be better off
to use the matplotlib library directly, rather than the convenient
utilities provided by pyplot. However, I am having a hard time to find good
instructions for using the matplotlib infrastructure. So, I would like to
hear some references on that. I also would like to hear general advice
about how to construct such a system so that its structure is consistent
with matplotlib conventions. Other comments and advice are warmly welcome
too. :-)
Thank you very much for reading this far.
Jianbao
From: Phil E. <pel...@gm...> - 2012年10月03日 15:10:36
This works for me with 1.2 (not tested before that):
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0, 1, None, 1, 0])
y = np.array([0, 1, None, 0, 1])
plt.plot(x, y)
plt.show()
I get two distinct lines crossing each other at (0.5, 0.5)
HTH,
From: Michael D. <md...@st...> - 2012年10月03日 14:51:11
I've been thinking a lot lately about how CSS could be used to specify 
styles in matplotlib. It would allow one to specify any set of styles 
to cycle through (colors, linestyles, whatever other properties).
 axes.nth-child(0) { color: blue }
 axes.nth-child(1) { color: green }
vs.
 axes.nth-child(0) { dashes: dotted }
 axes.nth-child(1) { dashed: dashed }
The obstacles to integrating something like that are that a) matplotlib 
currently doesn't maintain the fact that a plot's style was "unset" at 
the time of creation, and b) the heirarchy of plot objects is a little 
tangled, so it would be hard to specify using CSS selectors what should 
be styled.
It does keep popping up in my brain as a clean and complete solution to 
the problem of styling, but there would need to be a number of changes 
to the internal plumbing to make it work.
Mike
On 10/03/2012 08:48 AM, Benjamin Root wrote:
>
>
> On Tue, Oct 2, 2012 at 11:37 AM, Tony Yu <ts...@gm... 
> <mailto:ts...@gm...>> wrote:
>
>
>
> On Tue, Oct 2, 2012 at 11:04 AM, Benjamin Root <ben...@ou...
> <mailto:ben...@ou...>> wrote:
>
>
>
> On Tue, Oct 2, 2012 at 8:31 AM, William Furnass
> <wi...@th... <mailto:wi...@th...>> wrote:
>
> Did anything ever come of the MPL black and white mode
> mentioned in
> the following? I rarely want to produce colour plots and
> having an
> inbuilt mechanism for cycling through line styles that can be
> activated with a keyword argument would be very handy.
>
> http://www.mail-archive.com/mat...@li.../msg00367.html
>
> Cheers,
>
> Will
>
>
> Perhap's Tony Yu's mpltools might be the closest we have
> gotten to this goal. There has been a number of technical
> hurdles that I have not had the time or resources to iron
> out. Hopefully, it will be helpful to you.
>
> http://tonysyu.github.com/mpltools/getting_started.html
>
> Cheers!
> Ben Root
>
>
> Thanks for the advertisement Ben ;)
>
> Will: If you're just interested in grayscale plotting, here's a
> direct link to the example:
>
> http://tonysyu.github.com/mpltools/auto_examples/style/plot_grayscale.html
>
> The discussion that you link to talks specifically about line
> styles. In the past there's been discussion of adding a linestyle
> cycle rc param, but I don't think there's been progress on that front.
>
> BTW, Ben: are you still thinking about some sort of hierarchical
> configuration management? I think it'd make a great MEP, if you
> find the time.
>
>
> Not necessarily a hierarchical config management, but rather a 
> hierarchical property management. Of course, this was before I 
> discovered GraphicsContext, which makes me wonder if it could be 
> generalized and moved out of the backends to serve such a purpose.
>
> Of course, with regards to rcparams, we definitely need to re-examine 
> how we are doing it right now before it gets too bloated...
>
> Ben Root
>
>
>
> ------------------------------------------------------------------------------
> Don't let slow site performance ruin your business. Deploy New Relic APM
> Deploy New Relic app performance management and know exactly
> what is happening inside your Ruby, Python, PHP, Java, and .NET app
> Try New Relic at no cost today and get our sweet Data Nerd shirt too!
> http://p.sf.net/sfu/newrelic-dev2dev
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Charleux L. <lud...@gm...> - 2012年10月03日 14:24:22
Hello,
I want to plot multiple lines using matplotlib.pyplot.plot using the None
separator: when i zoom or plot lines that go far away from the axis limits,
they their direction is changed. I encounter a bug shown by the folowing
code:
import matplotlib.pyplot as plt
# Single line
x = [0., 1., 1., 0., 0.]
y = [0., 0., 1., 1., 0.]
# Multiple lines separated by None
x2 = [0., 1., None ,1., 0.]
y2 = [0., 0., None, 1., 1.]
# Let's plot
fig = plt.figure(0)
plt.clf()
ax = fig.add_subplot(121)
plt.title('No zoom')
plt.xlim([-1, 2])
plt.ylim([-1, 2])
plt.plot(x,y, 'bo-', label = 'This is ok')
plt.plot(x2,y2, 'ro-', label = 'This is not ok')
plt.legend()
ax = fig.add_subplot(122)
plt.title('With zoom one a corner')
plt.xlim([-.05, .1])
plt.ylim([.95, 1.05])
plt.plot(x,y, 'bo-', label = 'This is ok')
plt.plot(x2,y2, 'ro-', label = 'This is not ok')
plt.legend()
plt.show()
I tried several approaches to solve the problem but never succeeded. I
don't wich to use 2D arrays or LineCollections because this solution is
faster and allows the declaration of all lines with a single label and
color. Has anyone any idea ?
Regards.
From: Ignas A. <ani...@gm...> - 2012年10月03日 13:53:19
On 02/10/12 11:37:50 -0400, Tony Yu wrote:
> [...snip...]
>
> The discussion that you link to talks specifically about line styles. In
> the past there's been discussion of adding a linestyle cycle rc param, but
> I don't think there's been progress on that front.
> 
> [...snip...]
> 
Just wanted to pop in and say, that I'd like the linestyle cycle rc
param as well. :)
All the best,
Ignas A.
From: Phil E. <pel...@gm...> - 2012年10月03日 13:32:46
Personally, I am not a fan of adding a window specific keyword to the
figure function (although there may be some there already).
With 1.2 you can use Matthew Emmett/Paul Ivanov's awesome new context
manager to remove the toolbar for the duration of the with statement:
import matplotlib.pyplot as plt
import matplotlib as mpl
with mpl.rc_context({'toolbar':False}):
 plt.plot(range(10))
 plt.show()
Does that make things easier/nicer for you?
Cheers,
From: Harshad S. <har...@gm...> - 2012年10月03日 13:26:05
Hi,
I am using Eclipse IDE for Java Developers with PyDev on Ubuntu 12.04 and I
am quite new to Ubuntu and Eclipse. Can you guide me as to hos to update
matplotlib in PyDev in Eclipse?
-- 
Best Regards,
Harshad Surdi
From: Benjamin R. <ben...@ou...> - 2012年10月03日 13:03:52
On Tue, Oct 2, 2012 at 11:09 PM, Jianbao Tao <jia...@gm...> wrote:
> Hi,
>
> I know one can make a figure window without toolbar by doing
> mpl.rcParams['toolbar'] = 'None'
>
> However, this approach is kind of annoying if one just wants to remove the
> toolbar for one figure window and to keep the default behavior to be with a
> toolbar. So, I am wondering if it is possible to do something like:
> fig = figure(toolbar=False) # Create a new figure window with no toolbar.
>
> If it is not possible now, I am wondering if the matplotlib team has any
> intention to implement that feature. I would think it is not hard to do so,
> since it is so easy to achieve that goal by setting a parameter. But I
> could very much be wrong, as I know nothing about how things work under the
> hood for matplotlib.
>
> Anyway, I am mostly just curious, since I have already got a workaround
> for that. But it would be nice to know other's people's approaches/ideas.
> :-)
>
> Thank you very much.
>
Actually, such a feature shouldn't be too difficult to add. Why don't you
make a feature request for it on github and you might see it added for v1.3.
Cheers!
Ben Root
From: Benjamin R. <ben...@ou...> - 2012年10月03日 12:58:00
On Tue, Oct 2, 2012 at 11:38 PM, Jianbao Tao <jia...@gm...> wrote:
> Hi,
>
> Is it possible to specify the position of a figure window when one is
> created? This will be a killing feature if one wants to put the figure
> window at the right place in the screen automatically. It is annoying if
> ones has to drag a new figure to a comfortable place in the screen every
> time a new figure is created.
>
> Jianbao
>
>
Jianbao,
This question has come up before, and I have never really felt that a good
solution was ever given. However, here are some discussions and some
solutions for it.
http://stackoverflow.com/questions/7449585/how-do-you-set-the-absolute-position-of-figure-windows-with-matplotlib
http://www.mail-archive.com/mat...@li.../msg14387.html
http://stackoverflow.com/questions/11336835/ask-window-manager-to-place-matplotlib-plot-windows-always-on-top
I know there are more discussions than this, mostly related to controlling
your window manager, but I can't seem to find them right now.
Cheers!
Ben Root
From: Benjamin R. <ben...@ou...> - 2012年10月03日 12:48:54
On Tue, Oct 2, 2012 at 11:37 AM, Tony Yu <ts...@gm...> wrote:
>
>
> On Tue, Oct 2, 2012 at 11:04 AM, Benjamin Root <ben...@ou...> wrote:
>
>>
>>
>> On Tue, Oct 2, 2012 at 8:31 AM, William Furnass <wi...@th...>wrote:
>>
>>> Did anything ever come of the MPL black and white mode mentioned in
>>> the following? I rarely want to produce colour plots and having an
>>> inbuilt mechanism for cycling through line styles that can be
>>> activated with a keyword argument would be very handy.
>>>
>>>
>>> http://www.mail-archive.com/mat...@li.../msg00367.html
>>>
>>> Cheers,
>>>
>>> Will
>>>
>>>
>> Perhap's Tony Yu's mpltools might be the closest we have gotten to this
>> goal. There has been a number of technical hurdles that I have not had the
>> time or resources to iron out. Hopefully, it will be helpful to you.
>>
>> http://tonysyu.github.com/mpltools/getting_started.html
>>
>> Cheers!
>> Ben Root
>>
>
> Thanks for the advertisement Ben ;)
>
> Will: If you're just interested in grayscale plotting, here's a direct
> link to the example:
>
>
> http://tonysyu.github.com/mpltools/auto_examples/style/plot_grayscale.html
>
> The discussion that you link to talks specifically about line styles. In
> the past there's been discussion of adding a linestyle cycle rc param, but
> I don't think there's been progress on that front.
>
> BTW, Ben: are you still thinking about some sort of hierarchical
> configuration management? I think it'd make a great MEP, if you find the
> time.
>
>
Not necessarily a hierarchical config management, but rather a hierarchical
property management. Of course, this was before I discovered
GraphicsContext, which makes me wonder if it could be generalized and moved
out of the backends to serve such a purpose.
Of course, with regards to rcparams, we definitely need to re-examine how
we are doing it right now before it gets too bloated...
Ben Root
> Note, however, code has been improved for the 1.2.0 release to make it
easier to modify the set of buttons that are used. In backend_bases.py,
look for the NavigationToolbar2 class.
Ah yes! I knew I did that for a good reason. :-) Good thinking Ben!
From: Will F. <wi...@th...> - 2012年10月03日 07:55:15
On 2012年10月02日 11:37:50 -0400, Tony Yu wrote:
>> On Tue, Oct 2, 2012 at 8:31 AM, William Furnass
>> <wi...@th...>wrote:
>>
>>> Did anything ever come of the MPL black and white mode mentioned in
>>> the following? I rarely want to produce colour plots and having an
>>> inbuilt mechanism for cycling through line styles that can be
>>> activated with a keyword argument would be very handy.
>>>
>>> http://www.mail-archive.com/matplotlib-users-5NWGOfrQmneRv
+LV...@pu.../msg00367.html
> 
> Will: If you're just interested in grayscale plotting, here's a direct
> link to the example:
> 
> http://tonysyu.github.com/mpltools/auto_examples/style/
plot_grayscale.html
> 
> The discussion that you link to talks specifically about line styles. In
> the past there's been discussion of adding a linestyle cycle rc param,
> but I don't think there's been progress on that front.
Ben, Tony: thanks for the info. mpltools is new to me, very much like the 
idea of being able to enable stylesheets for specific plots.
+1 for linestyle cycling. I've been impressed with Sigmaplot's default 
choices of line styles when producing B&W figures and would love it if 
such behaviour were easily accessible in MPL.
Cheers,
Will 
From: Jianbao T. <jia...@gm...> - 2012年10月03日 03:38:27
Hi,
Is it possible to specify the position of a figure window when one is
created? This will be a killing feature if one wants to put the figure
window at the right place in the screen automatically. It is annoying if
ones has to drag a new figure to a comfortable place in the screen every
time a new figure is created.
Jianbao

Showing results of 26

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