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
(7) |
2
(2) |
3
|
4
(1) |
5
|
6
|
7
(2) |
8
(3) |
9
|
10
|
11
(2) |
12
(5) |
13
(2) |
14
(3) |
15
|
16
|
17
|
18
(2) |
19
(8) |
20
(3) |
21
(9) |
22
(3) |
23
|
24
(3) |
25
(1) |
26
(10) |
27
(15) |
28
(8) |
|
|
From: Sterling S. <sm...@fu...> - 2013-02-08 16:53:33
|
Sudheer, For the documentation you are looking for print ax1.xcorr.__doc__ (Paul tried to give you the IPython method of getting that documentation which is by typing a ? (or ??) after the desired object.) In the documentation (at the link you gave http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr), it says that there are three objects returned by xcorr: Return value is a tuple (*lags*, *c*, *line*) where: - *lags* are a length ``2*maxlags+1`` lag vector - *c* is the ``2*maxlags+1`` auto correlation vector - *line* is a :class:`~matplotlib.lines.Line2D` instance returned by :func:`~matplotlib.pyplot.plot`. So the error you were getting is due to the fact that you have only specified two variables to hold the three returned objects. Try: lags,c,line = ax1.xcorr ..... (Note that you have xcorr and lags backwards in your attempt.) -Sterling On Feb 8, 2013, at 1:56AM, Sudheer Joseph wrote: > Thank you verymuch Hobson, > However I think I did not understand the suggestion by you fully( pardon my ignorance). I use the below test code from matplotlib site. How does one make a call to get lags and correlation corresponding to the x and y values in the plot. a Print command of > In [23]: print ax1.xcorr > <bound method AxesSubplot.xcorr of <matplotlib.axes.AxesSubplot object at 0x44c1410>> > results as above. Is it possible to assign the xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) ? with a different syntax? I get below error when I try the above . > In [27]: xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) > --------------------------------------------------------------------------- > ValueError Traceback (most recent call last) > /home/sjo/work/PY_WORK/stats/<ipython-input-27-e1e58c045ad4> in <module>() > ----> 1 xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) > > ValueError: too many values to unpack > > > > import matplotlib.pyplot as plt > import numpy as np > x,y = np.random.randn(2,100) > fig = plt.figure() > ax1 = fig.add_subplot(211) > ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) > ax1.grid(True) > ax1.axhline(0, color='black', lw=2) > ax2 = fig.add_subplot(212, sharex=ax1) > ax2.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2) > ax2.grid(True) > ax2.axhline(0, color='black', lw=2) > plt.show() > > > From: Paul Hobson <pmh...@gm...> > To: Sudheer Joseph <sud...@ya...> > Cc: "mat...@li..." <mat...@li...> > Sent: Thursday, 7 February 2013 10:31 PM > Subject: Re: [Matplotlib-users] cross correlation > > > > > On Thu, Feb 7, 2013 at 3:24 AM, Sudheer Joseph <sud...@ya...> wrote: > Dear Users, > I am relatively new to Matplotlib. I wanted to find cross correlation between 2 time series for my research and was looking at options available with python and found http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr . However I wanted to save the results in a netcdf file for further use. ie the correlation, lags and significance if possible. Is there a way to get the corr and lags from the axis.xcorr ?? any help in this matter will be greatly appreciated. > Sudheer > > Sudheer, > > A call to axes.xcorr returns the lags, correlation (from np.correlate) and the line artists on the figure. > > In IPython, doing "plt.xcorr??" should provide sufficient information. It's a pretty simple method. > -paul > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Sudheer J. <sud...@ya...> - 2013-02-08 09:56:29
|
Thank you verymuch Hobson, However I think I did not understand the suggestion by you fully( pardon my ignorance). I use the below test code from matplotlib site. How does one make a call to get lags and correlation corresponding to the x and y values in the plot. a Print command of In [23]: print ax1.xcorr <bound method AxesSubplot.xcorr of <matplotlib.axes.AxesSubplot object at 0x44c1410>> results as above. Is it possible to assign the xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) ? with a different syntax? I get below error when I try the above . In [27]: xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /home/sjo/work/PY_WORK/stats/<ipython-input-27-e1e58c045ad4> in <module>() ----> 1 xcorr,lags=ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) ValueError: too many values to unpack import matplotlib.pyplot as plt import numpy as np x,y = np.random.randn(2,100) fig = plt.figure() ax1 = fig.add_subplot(211) ax1.xcorr(x, y, usevlines=True, maxlags=50, normed=True, lw=2) ax1.grid(True) ax1.axhline(0, color='black', lw=2) ax2 = fig.add_subplot(212, sharex=ax1) ax2.acorr(x, usevlines=True, normed=True, maxlags=50, lw=2) ax2.grid(True) ax2.axhline(0, color='black', lw=2) plt.show() From: Paul Hobson <pmh...@gm...> To: Sudheer Joseph <sud...@ya...> Cc: "mat...@li..." <mat...@li...> Sent: Thursday, 7 February 2013 10:31 PM Subject: Re: [Matplotlib-users] cross correlation On Thu, Feb 7, 2013 at 3:24 AM, Sudheer Joseph <sud...@ya...> wrote: Dear Users, > I am relatively new to Matplotlib. I wanted to find cross correlation between 2 time series for my research and was looking at options available with python and found http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr . However I wanted to save the results in a netcdf file for further use. ie the correlation, lags and significance if possible. Is there a way to get the corr and lags from the axis.xcorr ?? any help in this matter will be greatly appreciated. >Sudheer Sudheer, A call to axes.xcorr returns the lags, correlation (from np.correlate) and the line artists on the figure. In IPython, doing "plt.xcorr??" should provide sufficient information. It's a pretty simple method. -paul |
From: Paul H. <pmh...@gm...> - 2013-02-07 17:01:38
|
On Thu, Feb 7, 2013 at 3:24 AM, Sudheer Joseph <sud...@ya...>wrote: > Dear Users, > I am relatively new to Matplotlib. I wanted to find cross > correlation between 2 time series for my research and was looking at > options available with python and found > http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr . > However I wanted to save the results in a netcdf file for further use. ie > the correlation, lags and significance if possible. Is there a way to get > the corr and lags from the axis.xcorr ?? any help in this matter will be > greatly appreciated. > Sudheer > Sudheer, A call to axes.xcorr returns the lags, correlation (from np.correlate) and the line artists on the figure. In IPython, doing "plt.xcorr??" should provide sufficient information. It's a pretty simple method. -paul |
From: Sudheer J. <sud...@ya...> - 2013-02-07 11:24:48
|
Dear Users, I am relatively new to Matplotlib. I wanted to find cross correlation between 2 time series for my research and was looking at options available with python and found http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.xcorr . However I wanted to save the results in a netcdf file for further use. ie the correlation, lags and significance if possible. Is there a way to get the corr and lags from the axis.xcorr ?? any help in this matter will be greatly appreciated. Sudheer *************************************************************** Sudheer Joseph Indian National Centre for Ocean Information Services Ministry of Earth Sciences, Govt. of India POST BOX NO: 21, IDA Jeedeemetla P.O. Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O), Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile) E-mail:sjo...@gm...;sud...@ya... Web- http://oppamthadathil.tripod.com *************************************************************** |
From: Dieter <die...@ed...> - 2013-02-04 10:34:11
|
Thanks everybody, very insightful. I will specifically have a look at the pgf-tikz-backend, sounds great! Dieter -- View this message in context: http://matplotlib.1069221.n5.nabble.com/CMYK-tp40352p40394.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Thomas S. <spr...@hd...> - 2013-02-02 10:24:43
|
Am 30.01.2013 um 19:38 schrieb Eric Firing: > My somewhat vague recollection is that CMYK is fundamentally > output-device dependent, As is RGB by the way. Define Red: Fire-Engine-Red? Red-as-your-spouses-lips-red? After a glass-of-red-wine-lips-red? Just in RGB, world and dog settled for the pretty meagre sRGB standard for TV-like display devices (a.k.a. computer screens) Digital cameras do work better / cover more colours, therefore they should better use AdobeRGB. Alas, mostly it's a layer 8 problem, and there are no profiles or sRGB attached. You want to go independent: use Lab or Luv or Lch colour spaces. cheers Thomas |
From: Thomas S. <spr...@hd...> - 2013-02-02 10:18:00
|
For what it's worth: Take a look at www.littlecms.com, its' python bindings: https://launchpad.net/pylittlecms and http://www.cazabon.com/pyCMS/ which seemingly has been built into PIL. I don't see the big deal in putting properly tagged RGB files into any publication, and then have the RIP decide what to do with this. Most of the RIPS will treat untagged RGB as sRGB. Unless you're a weird colour scientist, and know what you're doing, you may just end up doing fine. For the publications: ICC Profiles are NOT os dependent. And as a matter of fact, Adobe distributed profiles normally are pretty outdated, to the detriment of all involved in the printing process. IsoCoatedv2 has evolved as a standard-catch-all cmyk color space, IN EUROPE. The States: not so much. They use SWOP or whatever the Brickworks (Adobe) seem to default. If the scientific publishers do not accept pdf, but force you to submit word, you shall be fine with RGB, since word only speaks "someuntaggedRGB" If they insist in CMYK, ask them for the proper profile. Otherwise, you have the same no-control just cast me colours in any direction approach as by using untagged RGB colors. For your conversions, you may just need: http://www.graphicsmagick.org/ Unfortunately, gm does it the chaotic way, which might suffice to get your job done the quick way, yet unpredictable: convert -colorspace CMYK infile outfile hth Thomas Am 31.01.2013 um 18:08 schrieb Dieter: > 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. > > ------------------------------------------------------------------------------ > 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: Pau <vim...@go...> - 2013-02-01 22:48:15
|
Hi, that's true... I have been playing with maxima. I define the function F(x,y,z):=38244.74787*%pi*(x^2+y^2+z^2)^0.125 +1615.975261*%pi*z^2/(x^2+y^2+z^2)^0.875 +(-1292.78021)*%pi*z^2/((x^2+y^2+z^2)^0.875*(1+y^2/x^2)) +1292.78021*%pi*(x^2+y^2+z^2)^0.125/(1+y^2/x^2); then I factor it factor(F(x,y,z)=0); Multiply it by the denominator % * 32365900000*(z^2+y^2+x^2)^(7/8); divide by pi % / %pi; So that F(x,y,z)=0 is equivalent to 1290128178785633*z^2+1237825685085633*y^2+1279667680084472*x^2=0 The only real solution is 0,0,0, But then I try to define a cube centered at the origin which contains at least a part of the surface: load(draw); n: 10$ draw3d( enhanced3d = true, implicit( F(x,y,z) = k, x,-n,n,y,-n,n,z,-n,n)); Since it's taking huge values even for small x,y,z, one has to use either very small n or very large k but even in that case I get draw3d (implicit): non real value How could I check the same in matplotlib? Am I missing something? Maybe this is a bug in maxima... Any help will be appreciated! On Tue, Jan 22, 2013 at 3:29 PM, Benjamin Root <ben...@ou...> wrote: > > > On Mon, Jan 21, 2013 at 8:06 PM, Pau <vim...@go...> wrote: >> >> Hi, >> >> I am somehow new to matplotlib and I am trying to plot this function of x >> ,y ,z >> >> F(x,y,z)= >> 38244.74787*Pi*(x^2+y^2+z^2)^.125+1615.975261*Pi*z^2/(x^2+y^2+z^2)^.875-1292.780210*Pi*z^2/((x^2+y^2+z^2)^.875*(1+y^2/x^2))+1292.78*Pi*(x^2+y^2+z^2)^.125/(1+y^2/x^2) >> >> in a similar way as >> >> http://matplotlib.org/mpl_examples/mplot3d/contour3d_demo3.hires.png >> >> The code is >> http://matplotlib.org/mpl_examples/mplot3d/contour3d_demo3.py >> >> But I have no idea where to start... >> >> some help would be appreciated... >> >> thanks >> > > The reason you are having difficulty coming up with a way to plot this is > because you have 3 input dimensions, and 1 output dimension that you wish to > plot. If you were to plot this in 3D space, it would have to be done as > F(x,y,z) as a colored "mist" in the domain of (x,y,z). While a "mist" can't > be done in mplot3d, you could plot out scatter points to emulate this. One > could also use contourf3d(..., zdir='z', offset=...) to create slices of the > filled contours, similar to this example: > > http://matplotlib.org/examples/mplot3d/contourf3d_demo2.html > > Now, if the domain of (x,y,z) can be parameterized as a surface (i.e., a > sphere or a cylinder), then you are looking to do an image of F(x,y,z) > plotted on that surface, which is a little bit difficult, but also do-able > using the plot_surface() function. > > Cheers! > Ben Root > |
From: Andreas H. <li...@hi...> - 2013-02-01 16:40:23
|
Hi, I often use mpl interactively (in ipython --pylab) to plot 2d data on basemaps using pcolormesh. When moving the mouse over the map, I can see x,y coordinates being displayed in the bottom right of the plot window. What would be more interesting for me is the value of the pcolomesh'ed data variable at the point where the mouse cursor is. Any way I can get this information? Cheers, Andreas. |
From: Matthew D B. <mat...@gm...> - 2013-02-01 16:38:27
|
Dear all Has anyone attempted to use matplotlib within a mac (cocoa) application before (e.g. using PyRun_SimpleFile or PyRun_SimpleString)? I can successfully get get a plot to appear in a new window but when closing this window the entire application quits without any error. Looking at the source code, the macosx backend seems to kill the currently running NSApp. Is there a reason for this and is there any way around it? Many thanks! |
From: Francesco M. <fra...@gm...> - 2013-02-01 16:32:38
|
2013/2/1 Benjamin Root <ben...@ou...> > > > On Fri, Feb 1, 2013 at 11:04 AM, Jeff Layton <lay...@at...> wrote: > >> Good morning, >> >> I'm been using matplotlib for a while but it's always been very >> simple plots (hey - I'm a simple person). I have a need for some >> "fancier" plots using subplots. >> >> I want to have 3 charts one above the other with a single set of >> x-axis labels on the bottom subplot that works for all three charts. >> I'd also like to put a legend outside the set of three charts - either >> to the top right or horizontally along the bottom. >> >> I've been reading a number of links and nothing really works. >> Most everything is around pylab and I'm using just straight >> matploblib. I hate to say it, but I need to have the solution and >> I'm looking for some newbie help. One of the frustrating aspects >> is I need to make sure it works for version 0.91 :( >> >> I'm attaching a simple example script that shows the plots >> as I currently have achieved them. Apologies for any bad coding. >> Just in case the attachment doesn't make it through the code is >> below. >> >> Thanks! >> >> Jeff >> >> >> > I don't know when it was introduced, but ax.label_outer() (called on each > axes object) can help you with the axis labeling. If that works, we can > then tackle legend placement. > if it does not work should be possible to do for ax1 and ax2 [t.set_visible(False) for t in ax.get_xticklabels()] Francesco > Ben Root > > > > ------------------------------------------------------------------------------ > 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: Benjamin R. <ben...@ou...> - 2013-02-01 16:15:55
|
On Fri, Feb 1, 2013 at 11:04 AM, Jeff Layton <lay...@at...> wrote: > Good morning, > > I'm been using matplotlib for a while but it's always been very > simple plots (hey - I'm a simple person). I have a need for some > "fancier" plots using subplots. > > I want to have 3 charts one above the other with a single set of > x-axis labels on the bottom subplot that works for all three charts. > I'd also like to put a legend outside the set of three charts - either > to the top right or horizontally along the bottom. > > I've been reading a number of links and nothing really works. > Most everything is around pylab and I'm using just straight > matploblib. I hate to say it, but I need to have the solution and > I'm looking for some newbie help. One of the frustrating aspects > is I need to make sure it works for version 0.91 :( > > I'm attaching a simple example script that shows the plots > as I currently have achieved them. Apologies for any bad coding. > Just in case the attachment doesn't make it through the code is > below. > > Thanks! > > Jeff > > > I don't know when it was introduced, but ax.label_outer() (called on each axes object) can help you with the axis labeling. If that works, we can then tackle legend placement. Ben Root |
From: Jeff L. <lay...@at...> - 2013-02-01 16:05:42
|
Good morning, I'm been using matplotlib for a while but it's always been very simple plots (hey - I'm a simple person). I have a need for some "fancier" plots using subplots. I want to have 3 charts one above the other with a single set of x-axis labels on the bottom subplot that works for all three charts. I'd also like to put a legend outside the set of three charts - either to the top right or horizontally along the bottom. I've been reading a number of links and nothing really works. Most everything is around pylab and I'm using just straight matploblib. I hate to say it, but I need to have the solution and I'm looking for some newbie help. One of the frustrating aspects is I need to make sure it works for version 0.91 :( I'm attaching a simple example script that shows the plots as I currently have achieved them. Apologies for any bad coding. Just in case the attachment doesn't make it through the code is below. Thanks! Jeff #!/usr/bin/python # import matplotlib.pyplot as plt; if __name__ == '__main__': x=[0.0, 1.0, 2.0, 3.0, 4.0]; y1 = [11.97, 1.01, 2.97, 1.0, 1.01]; y2 = [3.55, 1.01, 3.96, 1.0, 0.0]; y3 = [0.29, 0.0, 0.0, 0.0, 0.0]; fig = plt.figure(); ax1 = fig.add_subplot(311); ax2 = fig.add_subplot(312, sharex=ax1); ax3 = fig.add_subplot(313, sharex=ax1); ax1.plot(x, y1, "ro-"); ax2.plot(x, y2, "bo-"); ax3.plot(x, y3, "go-"); ax1.grid(); ax2.grid(); ax3.grid(); plt.show(); # end main |
From: Jae-Joon L. <lee...@gm...> - 2013-02-01 04:30:40
|
FancyArrowPatch behaves quite differently from normal patches. Most importantly, the path must be reevaluated during the drawing time, so a normal PatchCollection, which evaluate the paths during the instance creation, won't work. i.e., you need a new Collection class. Below is a very incomplete implementation of FancyArrowPatchCollection, just for a demonstration purpose. And I recommend you to open a wishlist ticket at the issue tracker (https://github.com/matplotlib/matplotlib/issues ). Regards, -JJ class FancyArrowPatchCollection(PatchCollection): def set_paths(self, patches): self._patches = patches def get_paths(self): paths = [] for p in self._patches: p.set_transform(self.get_transform()) _path, fillable = p.get_path_in_displaycoord() paths.extend(_path) return paths def _prepare_points(self): import matplotlib.transforms as mtransforms transform, transOffset, offsets, paths = PatchCollection._prepare_points(self) return mtransforms.IdentityTransform(), transOffset, offsets, paths On Thu, Jan 31, 2013 at 6:33 AM, Skipper Seabold <jss...@gm...>wrote: > 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) > > > ------------------------------------------------------------------------------ > 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 > > |