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
(5) |
3
(8) |
4
(6) |
5
(9) |
6
(7) |
7
(6) |
8
(10) |
9
(27) |
10
(7) |
11
(22) |
12
(13) |
13
(7) |
14
(4) |
15
(12) |
16
(32) |
17
(26) |
18
(14) |
19
(1) |
20
(11) |
21
(6) |
22
(11) |
23
(17) |
24
(18) |
25
(28) |
26
(11) |
27
(6) |
28
(1) |
29
(10) |
30
(12) |
|
|
|
|
> 2. I have a skymap I would like to plot using a particular projection > - what I've been doing so far is specifying x and y coordinates using > mgrid and calling contourf(x,y,data,100) to approximate this. But > what I'd rather do is something like > imshow(data,extent=[-pi,pi,-pi/2,pi/2]) ... when I call that with a > projection axis activated, the projection isn't honored - the image > just appears as a regular square box. Is there any way to get imshow > to respect the projection? > Did you try pcolormesh (or pcolor)? I believe these commands respect the projection. pcolormesh(x, y, data) -JJ
I've been playing with some of the projections in matplotlib, recently, and have some questions/noticed some odd behavior: 1. Is there any way to activate a projection mode with the pyplot interface other than the subplot(111,projection='whatever') method a la /examples/api/custom_projection_example.py ? Along these same lines, is the projection feature documented in greater detail somewhere? About everything I've figured out has come from custom_projection_example.py ... 2. I have a skymap I would like to plot using a particular projection - what I've been doing so far is specifying x and y coordinates using mgrid and calling contourf(x,y,data,100) to approximate this. But what I'd rather do is something like imshow(data,extent=[-pi,pi,-pi/2,pi/2]) ... when I call that with a projection axis activated, the projection isn't honored - the image just appears as a regular square box. Is there any way to get imshow to respect the projection?
I'm using 0.98.3 as well... I get a dictionary too. Should have backed up another step and checked that, I just iterated over the return and got the keys. Thanks for the help. On Thu, Sep 4, 2008 at 2:25 PM, Ryan May <rm...@gm...> wrote: > Eric Wertman wrote: >> >> Hi Everyone.. the docs for boxplot say : >> >> Returns a list of the :class:`matplotlib.lines.Line2D` instances added. >> >> It seems to be returning a list of strings rather than a list of >> handles... What's the easiest way for me to get the handles of those >> objects, with only the names? It's giving me this: >> >> medians <type 'str'> >> fliers <type 'str'> >> whiskers <type 'str'> >> boxes <type 'str'> >> caps <type 'str'> > > I get a dictionary with medians, flier, whiskers, boxes, and caps as keys > and lists of Line2D objects as the values. What version are you running? > I'm on 0.98.3 here. > > Either way the docstring is wrong. > > Ryan > > -- > Ryan May > Graduate Research Assistant > School of Meteorology > University of Oklahoma >
Eric Wertman wrote: > Hi Everyone.. the docs for boxplot say : > > Returns a list of the :class:`matplotlib.lines.Line2D` instances added. > > It seems to be returning a list of strings rather than a list of > handles... What's the easiest way for me to get the handles of those > objects, with only the names? It's giving me this: > > medians <type 'str'> > fliers <type 'str'> > whiskers <type 'str'> > boxes <type 'str'> > caps <type 'str'> I get a dictionary with medians, flier, whiskers, boxes, and caps as keys and lists of Line2D objects as the values. What version are you running? I'm on 0.98.3 here. Either way the docstring is wrong. Ryan -- Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma
Hi Everyone.. the docs for boxplot say : Returns a list of the :class:`matplotlib.lines.Line2D` instances added. It seems to be returning a list of strings rather than a list of handles... What's the easiest way for me to get the handles of those objects, with only the names? It's giving me this: medians <type 'str'> fliers <type 'str'> whiskers <type 'str'> boxes <type 'str'> caps <type 'str'> Thanks! Eric
Thanks, Worked perfectly. Mathieu Leplatre-2 wrote: > > On Wed, Aug 27, 2008 at 11:14 AM, stuartornum <st...@mu...> > wrote: >> >> Hi, >> >> I would like to be able to plot dates along the X axis' with values up >> the >> Y. However Im having problems with the correct format in order to pass to >> plot_date(). >> >> This is what I have so far: (example) >> >> #################################### >> List = [ [datetime.datetime(2008, 7, 12, 5, 12)], ['46.8'] ] >> >> plot_date(List[0], List[1]) >> ##################################### >> Returns error: >> >> c = numeric.array(data, dtype=tc, copy=True, order=order) >> ValueError: setting an array element with a sequence. >> ##################################### >> >> I have looked at the pylab example for plot_date, however it uses a >> drange() >> to figure out the dates and doesn't show me how to do it one by one. >> > > Hi > > Have a look at pylab.date2num() > > Mathieu. > > > >> Thank you for your time. >> -- >> View this message in context: >> http://www.nabble.com/plot_date%28%29---Correct-format-to-plot-tp19181899p19181899.html >> Sent from the matplotlib - users mailing list archive at Nabble.com. >> >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's >> challenge >> Build the coolest Linux based applications with Moblin SDK & win great >> prizes >> Grand prize is a trip for two to an Open Source event anywhere in the >> world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > -- View this message in context: http://www.nabble.com/plot_date%28%29---Correct-format-to-plot-tp19181899p19306302.html Sent from the matplotlib - users mailing list archive at Nabble.com.
I'm always glad to see that old chestnut resurface, but it doesn't really address the need for a hole in the middle. (I'm sure the dolphins are very happy about that...) matplotlib paths use the "non-zero" filling rule, so the directionality of the path affects filling. The best concise description I know of is here: http://www.w3.org/TR/SVG/painting.html#FillProperties So the direction of the inside and outside paths must be different in order to create donut-like shapes. I've added donut_demo.py to the examples (add attached it here). Hope that helps. Cheers, Mike Alan G Isaac wrote: > Paul Novak wrote: > >> Are there any more examples of matplotlib's new path functionality, in >> addition to the one in examples/api/path_patch_demo.py? >> > > http://www.mail-archive.com/mat...@li.../msg07706.html > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA
Paul Novak wrote: > Are there any more examples of matplotlib's new path functionality, in > addition to the one in examples/api/path_patch_demo.py? http://www.mail-archive.com/mat...@li.../msg07706.html
On Wed, Sep 3, 2008 at 4:25 AM, Fredrik Johansson <fre...@gm...> wrote: > Removing the call to ylim is not an acceptable solution, because this > is just a part (the problematic part) of the data I am trying to plot > (most of which fits within the ylimits). The problem also persists > when zooming out. Although I did not see the problem when I tried your example (I just have a field of white inside the axes and not the "large filled boxes", this does sound from your description like a bug we have seen before, where polygon artifacts are introduced by zooming too far into a figure. I'm pretty sure is a consequence of our creating a canvas size in agg that overflows the max integer canvas size, because on a big zoom we create the full figure canvas and then clip what is outside the viewport. This is the same reason people report exponential slowing down on repeated zooms. Both of these are the same bu that needs to be fixed. JDH
On Wed, Sep 3, 2008 at 6:37 AM, Tony S Yu <to...@mi...> wrote: > I may be missing something here, but everything plots fine *if you remove > the call to ylim*. Note that the minimum y value is 194.213. I wouldn't > expect to see anything if none of the data is between y = -40 .. 40. Sorry > if I'm overlooking something. > > Best, > -Tony Removing the call to ylim is not an acceptable solution, because this is just a part (the problematic part) of the data I am trying to plot (most of which fits within the ylimits). The problem also persists when zooming out. Fredrik
On Wednesday, 3 September 2008, dmitrey wrote: > hi all, > matplotlib says it's similar to MATLAB's plot tool, however, using > plot(..., 'p') plots pentagram instead of star. It makes my (Python > scikits.openopt) graphic output of numerical convergence look > uglier than MATLAB version. > > So is plotting a star intended to be ever implemented? > Thank you in advance, Dmitrey Use scatter instead of plot where you can custom-define a marker with an arbitrary number of sides in polygon, star or asterisk format. E.g. to get a hexagonal star use: scatter(xvalues,yvalues,marker=(6,1,0) See also scatter docstring. Johann
hi all, matplotlib says it's similar to MATLAB's plot tool, however, using plot(..., 'p') plots pentagram instead of star. It makes my (Python scikits.openopt) graphic output of numerical convergence look uglier than MATLAB version. So is plotting a star intended to be ever implemented? Thank you in advance, Dmitrey
Hi All matplotlib users, I want to ask a question about figure dimension (pixels), how to set the figure's dimension that we will create using matlotlib.pyplot.savefig() ? Thank You .. -- Zainal Abidin, S.Si Sub Bidang Informasi Meteorologi Publik Badan Meteorologi dan Geofisika Jl. Angkasa I No. 2 Jakarta - Indonesia *Visit Indonesia Year 2008 - Celebrating 100 Years of National Awakening*
On Sep 2, 2008, at 6:56 PM, Fredrik Johansson wrote: > Hi, > > I've encountered what appears to be a bug in matplotlib-0.98.3 > (Windows XP, Python 2.5). The following plot of a function with poles > displays garbage (large filled boxes instead of a curve). There's > large variation in the y values, but not so large that this shouldn't > be possible to plot correctly. > > Is this problem known? Is there a workaround? > > from pylab import * > x = [-2.97, -2.94, -2.91, -2.88, -2.85, -2.82, -2.79, -2.76, -2.73, > -2.7, > -2.67, -2.64, -2.61, -2.58, -2.55, -2.52, -2.49, -2.46, -2.43, -2.4, > -2.37, > -2.34, -2.31, -2.28, -2.25, -2.22, -2.19, -2.16, -2.13, -2.1, -2.07, > -2.04, > -2.01, -1.98, -1.95, -1.92, -1.89, -1.86, -1.83, -1.8, -1.77, -1.74, > -1.71, > -1.68, -1.65, -1.62, -1.59, -1.56, -1.53, -1.5, -1.47, -1.44, -1.41, > -1.38, > -1.35, -1.32, -1.29,-1.26, -1.23, -1.2, -1.17, -1.14, -1.11, -1.08, > -1.05, > -1.02, -0.99, -0.96, -0.93, -0.9, -0.87, -0.84, -0.81, -0.78, -0.75, > -0.72, > -0.69, -0.66, -0.63, -0.6, -0.57, -0.54, -0.51, -0.48, -0.45, -0.42, > -0.39, > -0.36, -0.33, -0.3, -0.27, -0.24, -0.21, -0.18, -0.15, -0.12, -0.09, > -0.06, > -0.03] > y = [7.40742e+6, 462976.0, 91463.4, 28950.0, 11867.8, 5732.96, > 3104.37, > 1830.03, 1153.53, 768.963, 538.805, 395.968, 305.58, 248.666, 214.668, > 197.843, 195.517, 207.33, 235.138, 283.525, 361.162, 483.641, 679.315, > 1001.79, 1558.46, 2581.22, 4621.92, 9171.58, 21022.7, 60014.1, > 249909.0, > 2.34376e+6, 6.0e+8, 3.75e+7, 960013.0, 146498.0, 40995.2, > 15633.9,7200.57, > 3768.46, 2164.71, 1336.34, 875.104, 603.287, 436.34, 331.148, 264.559, > 223.743, 201.613, 194.594, 201.594, 223.706, 264.503, 331.072, > 436.244, > 603.172, 874.968, 1336.19, 2164.53, 3768.26, 7200.35, 15633.7, > 40994.9, > 146498.0, 960013.0, 3.75e+7, 6.0e+8, 2.34376e+6, 249909.0, 60013.7, > 21022.2, 9171.01, 4621.3, 2580.56, 1557.75, 1001.03, 678.491, 482.753, > 360.205, 282.492, 234.022, 206.125, 194.213, 196.431, 213.137, > 247.004, > 303.774, 394.002, 536.66, 766.62, 1150.97, 1827.22, 3101.28, 5729.56, > 11864.0, 28945.8, 91458.8, 462971.0, 7.40741e+6] > plot(x, y) > ylim([-40, 40]) > show() I may be missing something here, but everything plots fine *if you remove the call to ylim*. Note that the minimum y value is 194.213. I wouldn't expect to see anything if none of the data is between y = -40 .. 40. Sorry if I'm overlooking something. Best, -Tony > -- > Fredrik > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Hi, I've encountered what appears to be a bug in matplotlib-0.98.3 (Windows XP, Python 2.5). The following plot of a function with poles displays garbage (large filled boxes instead of a curve). There's large variation in the y values, but not so large that this shouldn't be possible to plot correctly. Is this problem known? Is there a workaround? from pylab import * x = [-2.97, -2.94, -2.91, -2.88, -2.85, -2.82, -2.79, -2.76, -2.73, -2.7, -2.67, -2.64, -2.61, -2.58, -2.55, -2.52, -2.49, -2.46, -2.43, -2.4, -2.37, -2.34, -2.31, -2.28, -2.25, -2.22, -2.19, -2.16, -2.13, -2.1, -2.07, -2.04, -2.01, -1.98, -1.95, -1.92, -1.89, -1.86, -1.83, -1.8, -1.77, -1.74, -1.71, -1.68, -1.65, -1.62, -1.59, -1.56, -1.53, -1.5, -1.47, -1.44, -1.41, -1.38, -1.35, -1.32, -1.29,-1.26, -1.23, -1.2, -1.17, -1.14, -1.11, -1.08, -1.05, -1.02, -0.99, -0.96, -0.93, -0.9, -0.87, -0.84, -0.81, -0.78, -0.75, -0.72, -0.69, -0.66, -0.63, -0.6, -0.57, -0.54, -0.51, -0.48, -0.45, -0.42, -0.39, -0.36, -0.33, -0.3, -0.27, -0.24, -0.21, -0.18, -0.15, -0.12, -0.09, -0.06, -0.03] y = [7.40742e+6, 462976.0, 91463.4, 28950.0, 11867.8, 5732.96, 3104.37, 1830.03, 1153.53, 768.963, 538.805, 395.968, 305.58, 248.666, 214.668, 197.843, 195.517, 207.33, 235.138, 283.525, 361.162, 483.641, 679.315, 1001.79, 1558.46, 2581.22, 4621.92, 9171.58, 21022.7, 60014.1, 249909.0, 2.34376e+6, 6.0e+8, 3.75e+7, 960013.0, 146498.0, 40995.2, 15633.9,7200.57, 3768.46, 2164.71, 1336.34, 875.104, 603.287, 436.34, 331.148, 264.559, 223.743, 201.613, 194.594, 201.594, 223.706, 264.503, 331.072, 436.244, 603.172, 874.968, 1336.19, 2164.53, 3768.26, 7200.35, 15633.7, 40994.9, 146498.0, 960013.0, 3.75e+7, 6.0e+8, 2.34376e+6, 249909.0, 60013.7, 21022.2, 9171.01, 4621.3, 2580.56, 1557.75, 1001.03, 678.491, 482.753, 360.205, 282.492, 234.022, 206.125, 194.213, 196.431, 213.137, 247.004, 303.774, 394.002, 536.66, 766.62, 1150.97, 1827.22, 3101.28, 5729.56, 11864.0, 28945.8, 91458.8, 462971.0, 7.40741e+6] plot(x, y) ylim([-40, 40]) show() -- Fredrik
Hi, What is the best way to get the pixels values in addition to the pixel numbers when moving the mouse on on imhow display? It could be either on the fly (would be great) or on click. "best way" here means that the code can be quite complex but that it should be as simple as imshow from the end user point of view. I'm using TkAgg. Xavier
Are there any more examples of matplotlib's new path functionality, in addition to the one in examples/api/path_patch_demo.py? Specifically, I would like an example of using compound paths to draw a donut-shape that shows the inner and outer edge and fills the donut with a color. Thank you, Paul
On Tue, Sep 2, 2008 at 5:04 AM, bernardo martins rocha <ber...@me...> wrote: > Hi Guys, > > I have some questions: > > 1. How can I zoom in the horizontal axis and maintain the vertical axis > unchanged with the zoom tool provided by matplotlib? Hold down the 'x' key while zooming to constrain the zoom to the x-axis -- ditto for 'y'. This is covered at http://matplotlib.sourceforge.net/doc/html/users/navigation_toolbar.html > 2. How can I change the xticks so that they do not overlap each other? > For instance, I have a plot in time, but since it's a huge simulation > the time ticks 2000 3000 are overlapping, so that I cannot understand. > Is it possible to change the units? Like 2 3 and then add 10^3 somewhere > else? I hope you can understand my question...sorry if it's not clear. You can set fewer ticks either by using your own date locator instance (see the user's guide' chapter on tick locating and formatting) or by setting the tick locations explicitly (eg, ax.set_xticks). Another thing that can help is to rotate the tick labels -- with date plots there is a helper function fig.autofmt_xdate() which does this automatically. The basic code is for label in ax.get_xticklabels(): label.set_horizontalalignment('right') label.set_rotation(30) JDH
Hi Guys, I have some questions: 1. How can I zoom in the horizontal axis and maintain the vertical axis unchanged with the zoom tool provided by matplotlib? 2. How can I change the xticks so that they do not overlap each other? For instance, I have a plot in time, but since it's a huge simulation the time ticks 2000 3000 are overlapping, so that I cannot understand. Is it possible to change the units? Like 2 3 and then add 10^3 somewhere else? I hope you can understand my question...sorry if it's not clear. Bernardo M. Rocha
On Mon, Sep 1, 2008 at 4:37 AM, Lotfi Benz <lb...@go...> wrote: > I am using matplotlib since three months, every thing was fine untill today > I have got this error message which is strange and I could not figure out > what it means. > here I paste the error message I got. > """ > Another agent is running... > Failed to allocate the agent. Exitting... > Failed to invoking the agent: No such file or directory > Cannot launch the agent > The messenger is now down This looks like a KDE/Qt problem, not a matplotlib problem, eg googling for the phrase, Failed to invoking the agent: No such file or directory turns up hits like this: https://bugs.launchpad.net/ubuntu/+source/scim-bridge/+bug/203334 JDH
I am using matplotlib since three months, every thing was fine untill today I have got this error message which is strange and I could not figure out what it means. here I paste the error message I got. """ Another agent is running... Failed to allocate the agent. Exitting... Failed to invoking the agent: No such file or directory Cannot launch the agent The messenger is now down """ Does somebody knows where it comes from and how to cure it? Thanks in advance Lotfi