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
|
|
From: Vineeth R. <vin...@gm...> - 2013-03-05 17:53:52
|
Sterling,
Thank you, ya I got it working using MaxNLocator
On Tue, Mar 5, 2013 at 12:49 PM, Sterling Smith <sm...@fu...>wrote:
> Vineeth,
>
> I think that you are looking for
> from matplotlib.ticker import MaxNLocator
>
> -Sterling
>
> On Mar 3, 2013, at 5:38PM, vineeth wrote:
>
> > Hello,
> >
> > I have attached the histogram that I generated. When specifying large
> numbers like 1000 or more, the xticks tend to overlap and it gives a clumsy
> impression. Is there a way to avoid this?. What can be done to give gaps
> between the ticks?. Say in my case just show 3 to 4 ticks in x axis rather
> than specifying all the ticks. The following is my code:
> >
> > def plotHistogram(veh_no, value, vehicle_no, fig_no):
> >
> > font = {'family' : 'serif',
> > 'weight' : 'normal',
> > 'size' : 10}
> > rc('font', **font)
> > count = 1
> > legends = []
> > print veh_no
> > plt.figure(num=fig_no,dpi=105)
> > for i in range(len(value)):
> > ax = plt.subplot(2,2,i+1)
> > n, bins, patches = plt.hist(value[i],100,label=veh_no[i])
> > plt.ylabel('frequency',position=(0.5,0.5))
> > plt.xlabel('x valuels')
> > plt.grid()
> > min_val = int(round(min(value[i]),0))
> > max_val = int(round(max(value[i]),0))
> > ax.set_xlim(min_val-2,max_val+2)
> > locs,labels = plt.xticks()
> > plt.xticks(locs, map(lambda x: "%g" % x, locs))
> > plt.savefig('figurename.eps',dpi=70)
> > count += 1
> >
> > Thank You
> > Vineeth
> >
> <test_hist.eps>------------------------------------------------------------------------------
> > 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_feb_______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
--
Don't tell GOD how Big your storm is...TELL THE STORM HOW BIG YOUR GOD
IS!!!
|
|
From: Mathew T. <mat...@ed...> - 2013-03-05 17:05:11
|
The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |
|
From: Sudheer J. <sud...@ya...> - 2013-03-05 15:42:09
|
Thank you, > >1) There is a wide gap between label and the contours ie it appears like ------ 2.4 ......... is there a way to reduce this gap? Try inline=False for the clabel call, but that might over-do it. I tried this but it totally removes the space, the inline_space=n do not appear to take the given value and it works always with default value.. 2) The labels are appearing cluttered at about 100m depth though they culd have spread apart at each level. Is there a way to control their placing to avoid cluttering? This has been a long-standing issue with matplotlib. There has been improvements, but it still isn't perfect. I am not familiar with some of the newer tricks that are available. Hope some one tried those will respond! 3) Is there a way to make the longitude as in case of maps ie can the x axis labels be 50E 60E ... 90E You can set the tick formatter. Here is one example of how to do it. http://matplotlib.org/examples/pylab_examples/custom_ticker1.html Thank you I hope that helps! Ben Root |
|
From: Benjamin R. <ben...@ou...> - 2013-03-05 14:03:17
|
On Mon, Mar 4, 2013 at 8:26 PM, Sudheer Joseph <sud...@ya...>wrote: > Thanks to all Matplotlib experts for extending help, > With the suggestions I could make the script work and I am close to the > target I had in mind, > Below script produces as depth longitude contou-filled plot. > However I have below concerns, > 1) There is a wide gap between label and the contours ie it appears like > ------ 2.4 ......... is there a way to reduce this gap? > Try inline=False for the clabel call, but that might over-do it. > 2) The labels are appearing cluttered at about 100m depth though they culd > have spread apart at each level. Is there a way to control their placing to > avoid cluttering? > This has been a long-standing issue with matplotlib. There has been improvements, but it still isn't perfect. I am not familiar with some of the newer tricks that are available. > 3) Is there a way to make the longitude as in case of maps ie can the x > axis labels be 50E 60E ... 90E > You can set the tick formatter. Here is one example of how to do it. http://matplotlib.org/examples/pylab_examples/custom_ticker1.html I hope that helps! Ben Root |
|
From: nittopuran n. <nit...@gm...> - 2013-03-05 12:12:12
|
Hi,
I have this script which gives output the image attached here. What I want
is to give all the peak a number on top of the peak like 1 for first peak,
2 for second, 3 for third and so on. Could someone pls help me how to do
that in python.
The code:
from pylab import*
# Read the file.
f2 = open('d012_SAXS-recomb.txt', 'r')
# read the whole file into a single variable, which is a list of every row
of the file.
lines = f2.readlines()[2:-100]
f2.close()
# initialize some variable to be lists:
x1 = []
y1 = []
# scan the rows of the file stored in lines, and put the values into some
variables:
for line in lines:
p = line.split()
x1.append(float(p[0]))
y1.append(float(p[1]))
x = np.array(x1)
y = np.array(y1)
xlim(0.0,4.0)
# now, plot the data:
#subplot(211)
plt.plot(x, y, color='orange',linewidth=2.0, linestyle='-', label='Arabic -
LPP''\nRoman - SPP''\nAsterisk - CHOL')
legend(loc='upper right')
xlabel('q')
ylabel('Intensity')
title('Cer2.Chol.Ffa7 (1.1.1)')
plt.show()
/Tatiana
|
|
From: Phil E. <pel...@gm...> - 2013-03-05 10:19:43
|
Sounds like a nice feature if it doesn't already exist. At first glance, I'd say this was a good candidate for the "low-hanging fruit" label ( https://github.com/matplotlib/matplotlib/issues?labels=low+hanging+fruit&page=1&state=open) for which we have tickets which have a low matplotlib contribution experience barrier and a relatively good return on investment (in terms of time spent). Please feel free to create an issue on the github tracker & if you're keen, I'd encourage you to have a go at implementing it. Cheers, On 4 March 2013 19:34, Paul Hobson <pmh...@gm...> wrote: > > On Mon, Mar 4, 2013 at 11:23 AM, William Furnass <wi...@th...>wrote: > >> Several backends will show you the x and y float values that >> correspond to the current cursor position in a plot() but are there >> backends that show the _datetime_ corresponding to the x position if >> the plotted data is a time series (e.g. a pandas.Series object with a >> DatetimeIndex)? >> >> Regards, >> >> Will >> > > Will, > > You can use the `format_coord` method of the axes objects to do just this. > -paul > > > ------------------------------------------------------------------------------ > 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_feb > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Sudheer J. <sud...@ya...> - 2013-03-05 01:26:11
|
Thanks to all Matplotlib experts for extending help, With the suggestions I could make the script work and I am close to the target I had in mind, Below script produces as depth longitude contou-filled plot. However I have below concerns, 1) There is a wide gap between label and the contours ie it appears like ------ 2.4 ......... is there a way to reduce this gap? 2) The labels are appearing cluttered at about 100m depth though they culd have spread apart at each level. Is there a way to control their placing to avoid cluttering? 3) Is there a way to make the longitude as in case of maps ie can the x axis labels be 50E 60E ... 90E I am not sure if I am too much ambitious with regard to matplotlib, but I was using ferret where it takes care of the labeling. with best regards, Sudheer from matplotlib import pyplot as plt from netCDF4 import Dataset import numpy as np url='http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc' ds = Dataset(url) temp = ds.variables['TEMP'] lats = ds.variables['lat'] lons = ds.variables['lon'] depths = ds.variables['z'] # filter depths dmin = np.where(depths[:] == 0.)[0][0] dmax = np.where(depths[:] == 1000)[0][0] # filter all but one latitude lat_index = np.where(lats[:] == 0.5)[0][0] lats = lats[lat_index] # filter a range of longitudes lon_lower_index = np.where(lons[:] == 44.5)[0][0] lon_upper_index = np.where(lons[:] == 95.5)[0][0] lons = lons[lon_lower_index:lon_upper_index] depths=depths[dmin:dmax] temp = temp[0,dmin:dmax, lat_index, lon_lower_index:lon_upper_index] #plt.pcolormesh(lons,depths, temp) nx,ny=np.meshgrid(lons,depths) clevs=np.arange(temp.min(),temp.max()+2,temp.std()/5) norm = plt.cm.colors.Normalize(vmax=abs(temp).max(), vmin=-abs(temp).max()) cmap = plt.cm.gist_rainbow_r plt.figure() cs1=plt.contourf(nx,ny,temp, clevs,cmap=plt.cm.get_cmap(cmap, len(clevs)-1)) cs2=plt.contour(nx,ny,temp, cs1.levels,colors = 'k',linewidth=2,hold='on') plt.clabel(cs2,inline=True, fmt='%1.1f', fontsize=18) cb = plt.colorbar(cs1,pad=.02) #(location='right')#,size="5%", pad='2%') plt.gca().invert_yaxis() plt.show() *************************************************************** 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: Jody Klymak <jk...@uv...> To: Sudheer Joseph <sud...@ya...> Cc: "Mat...@li..." <mat...@li...> Sent: Tuesday, 5 March 2013 2:10 AM Subject: Re: [Matplotlib-users] depth longitude plot Hi Sudheer, You want contourf. http://matplotlib.org/examples/pylab_examples/contour_image.html Cheers, Jody On Mar 4, 2013, at 9:04 AM, Sudheer Joseph <sud...@ya...> wrote: Hi Benamin, >I was looking for a plot similar to the attached one named ferret.gif. But from matplot lib I get flat fill and contours which are not aligned to the levels ( named figure_1.png , it looks like matplotlib has just flat surfaces as it used pcolor. > > >with best regards, >Sudheer > > >From:Sudheer Joseph <sud...@ya...> > >To: Benjamin Root <ben...@ou...> >Cc: "Mat...@li..." <mat...@li...> >Sent: Monday, 4 March 2013 8:19 PM >Subject: Re: [Matplotlib-users] depth longitude plot > > >Thank you, > I just posted this question in numpy lists thinking that it is possible after regriding the data to new axes. >Thanks for the help. >with best regards, >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: Benjamin Root <ben...@ou...> >To: Sudheer Joseph <sud...@ya...> >Cc: Phil Elson <pel...@gm...>; "Mat...@li..." <mat...@li...> >Sent: Monday, 4 March 2013 7:53 PM >Subject: Re: [Matplotlib-users] depth longitude plot > > > > > >On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sud...@ya...> wrote: > >Hi Phil, >> >> >>Though iris looked to be promising it needed many other libraries, so I chose the below suggestion. But is there a way to overlay contours on this ? also is it possible to specify the levels? >>In [23]: plt.pcolormesh?? did not give much help >> >>with best regards, >>Sudheer > >You can overlay contours on the pcolormesh image by simply using the plt.contour() function after the pcolormesh() call. It allows you to control which levels to contour and you can specify the attributes of those contours like the color or thickness. Note that unlike Matlab, you don't have to call "hold on" between plots. By default, matplotlib will hold. > >I hope that helps! >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_feb >_______________________________________________ >Matplotlib-users mailing list >Mat...@li... >https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > ><ferret.gif><figure_1.png>------------------------------------------------------------------------------ >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_feb_______________________________________________ >Matplotlib-users mailing list >Mat...@li... >https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Jody Klymak http://web.uvic.ca/~jklymak/ |
|
From: Jody K. <jk...@uv...> - 2013-03-04 20:54:40
|
Hi Sudheer, You want contourf. http://matplotlib.org/examples/pylab_examples/contour_image.html Cheers, Jody On Mar 4, 2013, at 9:04 AM, Sudheer Joseph <sud...@ya...> wrote: > Hi Benamin, > I was looking for a plot similar to the attached one named ferret.gif. But from matplot lib I get flat fill and contours which are not aligned to the levels ( named figure_1.png , it looks like matplotlib has just flat surfaces as it used pcolor. > > with best regards, > Sudheer > > From: Sudheer Joseph <sud...@ya...> > To: Benjamin Root <ben...@ou...> > Cc: "Mat...@li..." <mat...@li...> > Sent: Monday, 4 March 2013 8:19 PM > Subject: Re: [Matplotlib-users] depth longitude plot > > Thank you, > I just posted this question in numpy lists thinking that it is possible after regriding the data to new axes. > Thanks for the help. > with best regards, > 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: Benjamin Root <ben...@ou...> > To: Sudheer Joseph <sud...@ya...> > Cc: Phil Elson <pel...@gm...>; "Mat...@li..." <mat...@li...> > Sent: Monday, 4 March 2013 7:53 PM > Subject: Re: [Matplotlib-users] depth longitude plot > > > > On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sud...@ya...> wrote: > Hi Phil, > > Though iris looked to be promising it needed many other libraries, so I chose the below suggestion. But is there a way to overlay contours on this ? also is it possible to specify the levels? > In [23]: plt.pcolormesh?? did not give much help > with best regards, > Sudheer > > You can overlay contours on the pcolormesh image by simply using the plt.contour() function after the pcolormesh() call. It allows you to control which levels to contour and you can specify the attributes of those contours like the color or thickness. Note that unlike Matlab, you don't have to call "hold on" between plots. By default, matplotlib will hold. > > I hope that helps! > 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_feb > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > <ferret.gif><figure_1.png>------------------------------------------------------------------------------ > 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_feb_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Jody Klymak http://web.uvic.ca/~jklymak/ |
|
From: Paul H. <pmh...@gm...> - 2013-03-04 19:34:30
|
On Mon, Mar 4, 2013 at 11:23 AM, William Furnass <wi...@th...>wrote: > Several backends will show you the x and y float values that > correspond to the current cursor position in a plot() but are there > backends that show the _datetime_ corresponding to the x position if > the plotted data is a time series (e.g. a pandas.Series object with a > DatetimeIndex)? > > Regards, > > Will > Will, You can use the `format_coord` method of the axes objects to do just this. -paul |
|
From: William F. <wi...@th...> - 2013-03-04 19:23:35
|
Several backends will show you the x and y float values that correspond to the current cursor position in a plot() but are there backends that show the _datetime_ corresponding to the x position if the plotted data is a time series (e.g. a pandas.Series object with a DatetimeIndex)? Regards, Will |
|
From: Sudheer J. <sud...@ya...> - 2013-03-04 17:05:10
|
Hi Benamin, I was looking for a plot similar to the attached one named ferret.gif. But from matplot lib I get flat fill and contours which are not aligned to the levels ( named figure_1.png , it looks like matplotlib has just flat surfaces as it used pcolor. with best regards, Sudheer From:Sudheer Joseph <sud...@ya...> To: Benjamin Root <ben...@ou...> Cc: "Mat...@li..." <mat...@li...> Sent: Monday, 4 March 2013 8:19 PM Subject: Re: [Matplotlib-users] depth longitude plot Thank you, I just posted this question in numpy lists thinking that it is possible after regriding the data to new axes. Thanks for the help. with best regards, 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: Benjamin Root <ben...@ou...> To: Sudheer Joseph <sud...@ya...> Cc: Phil Elson <pel...@gm...>; "Mat...@li..." <mat...@li...> Sent: Monday, 4 March 2013 7:53 PM Subject: Re: [Matplotlib-users] depth longitude plot On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sud...@ya...> wrote: Hi Phil, > > >Though iris looked to be promising it needed many other libraries, so I chose the below suggestion. But is there a way to overlay contours on this ? also is it possible to specify the levels? >In [23]: plt.pcolormesh?? did not give much help > >with best regards, >Sudheer You can overlay contours on the pcolormesh image by simply using the plt.contour() function after the pcolormesh() call. It allows you to control which levels to contour and you can specify the attributes of those contours like the color or thickness. Note that unlike Matlab, you don't have to call "hold on" between plots. By default, matplotlib will hold. I hope that helps! 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_feb _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Sudheer J. <sud...@ya...> - 2013-03-04 14:49:30
|
Thank you, I just posted this question in numpy lists thinking that it is possible after regriding the data to new axes. Thanks for the help. with best regards, 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: Benjamin Root <ben...@ou...> To: Sudheer Joseph <sud...@ya...> Cc: Phil Elson <pel...@gm...>; "Mat...@li..." <mat...@li...> Sent: Monday, 4 March 2013 7:53 PM Subject: Re: [Matplotlib-users] depth longitude plot On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sud...@ya...> wrote: Hi Phil, > > >Though iris looked to be promising it needed many other libraries, so I chose the below suggestion. But is there a way to overlay contours on this ? also is it possible to specify the levels? >In [23]: plt.pcolormesh?? did not give much help > >with best regards, >Sudheer You can overlay contours on the pcolormesh image by simply using the plt.contour() function after the pcolormesh() call. It allows you to control which levels to contour and you can specify the attributes of those contours like the color or thickness. Note that unlike Matlab, you don't have to call "hold on" between plots. By default, matplotlib will hold. I hope that helps! Ben Root |
|
From: Benjamin R. <ben...@ou...> - 2013-03-04 14:24:18
|
On Sat, Mar 2, 2013 at 6:35 AM, Sudheer Joseph <sud...@ya...>wrote: > Hi Phil, > > Though iris looked to be promising it needed many other libraries, so I > chose the below suggestion. But is there a way to overlay contours on this > ? also is it possible to specify the levels? > In [23]: plt.pcolormesh?? did not give much help > with best regards, > Sudheer > You can overlay contours on the pcolormesh image by simply using the plt.contour() function after the pcolormesh() call. It allows you to control which levels to contour and you can specify the attributes of those contours like the color or thickness. Note that unlike Matlab, you don't have to call "hold on" between plots. By default, matplotlib will hold. I hope that helps! Ben Root |
|
From: vineeth <vin...@gm...> - 2013-03-04 01:38:45
|
Hello,
I have attached the histogram that I generated. When specifying large
numbers like 1000 or more, the xticks tend to overlap and it gives a
clumsy impression. Is there a way to avoid this?. What can be done to
give gaps between the ticks?. Say in my case just show 3 to 4 ticks in x
axis rather than specifying all the ticks. The following is my code:
def plotHistogram(veh_no, value, vehicle_no, fig_no):
font = {'family' : 'serif',
'weight' : 'normal',
'size' : 10}
rc('font', **font)
count = 1
legends = []
print veh_no
plt.figure(num=fig_no,dpi=105)
for i in range(len(value)):
ax = plt.subplot(2,2,i+1)
n, bins, patches = plt.hist(value[i],100,label=veh_no[i])
plt.ylabel('frequency',position=(0.5,0.5))
plt.xlabel('x valuels')
plt.grid()
min_val = int(round(min(value[i]),0))
max_val = int(round(max(value[i]),0))
ax.set_xlim(min_val-2,max_val+2)
locs,labels = plt.xticks()
plt.xticks(locs, map(lambda x: "%g" % x, locs))
plt.savefig('figurename.eps',dpi=70)
count += 1
Thank You
Vineeth
|
|
From: Sudheer J. <sud...@ya...> - 2013-03-02 11:35:44
|
Hi Phil, Though iris looked to be promising it needed many other libraries, so I chose the below suggestion. But is there a way to overlay contours on this ? also is it possible to specify the levels? In [23]: plt.pcolormesh?? did not give much help with best regards, Sudheer ________________________________ From: Phil Elson <pel...@gm...> To: "Mat...@li..." <mat...@li...> Sent: Saturday, 2 March 2013 3:40 PM Subject: Re: [Matplotlib-users] depth longitude plot Incidentally, if you wanted to do this a little more expressively than indexing, you could look into using iris (http://scitools.org.uk/iris/docs/latest/index.html). It doesn't currently support DAP, but if you had the NetCDF file (from http://www.marine.csiro.au/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc) you would do: importiris import iris.quickplot as qplt import matplotlib.pyplot as plt temp_cube = iris.load_cube('levitus_monthly_temp_98.nc') # Sort out some of the bad metadata. Firstly, set the unit, # secondly rename the dimension 1 coordinate to 'depth'. temp_cube.unit = 'C' temp_cube.coord(dimensions=1, dim_coords=True).rename('depth') # Extract a spatial sub-domain. sub_temp_cube = temp_cube.extract(iris.Constraint(latitude=0.5, longitude=lambda v: 45 < v < 100)) # Iterate over all the depth-longitude sections (in this case it # iterates over time) for cross_sect_cube in sub_temp_cube.slices(['depth', 'longitude']): qplt.pcolormesh(cross_sect_cube) plt.gca().invert_yaxis() plt.show() break Hope that helps! Phil On 2 March 2013 09:37, Phil Elson <pel...@gm...> wrote: Perhaps something like: > > > > >from matplotlib import pyplot as plt >from netCDF4 import Dataset >import numpy as np > > > > >url='http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc' >ds = Dataset(url) > > > > >temp = ds.variables['TEMP'] >lats = ds.variables['lat'] >lons = ds.variables['lon'] >depths = ds.variables['z'] > > > > ># filter all but one latitude >lat_index = np.where(lats[:] == 0.5)[0][0] >lats = lats[lat_index] > > ># filter a range of longitudes >lon_lower_index = np.where(lons[:] == 44.5)[0][0] >lon_upper_index = np.where(lons[:] == 100.5)[0][0] >lons = lons[lon_lower_index:lon_upper_index] > > >temp = temp[0, :, lat_index, lon_lower_index:lon_upper_index] > > > > >plt.pcolormesh(lons, depths[:], temp) >plt.gca().invert_yaxis() > > >plt.show() > > > > > > > > >The indexing approach used here is quite flakey, so I certainly wouldn't use this in anything operational. > >Hope this helps, > >Phil > > ------------------------------------------------------------------------------ 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_feb _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Sudheer J. <sud...@ya...> - 2013-03-02 10:53:49
|
Tank you very much for both solutions Phil, with best regards, 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: Phil Elson <pel...@gm...> To: "Mat...@li..." <mat...@li...> Sent: Saturday, 2 March 2013 3:07 PM Subject: Re: [Matplotlib-users] depth longitude plot Perhaps something like: from matplotlib import pyplot as plt from netCDF4 import Dataset import numpy as np url='http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc' ds = Dataset(url) temp = ds.variables['TEMP'] lats = ds.variables['lat'] lons = ds.variables['lon'] depths = ds.variables['z'] # filter all but one latitude lat_index = np.where(lats[:] == 0.5)[0][0] lats = lats[lat_index] # filter a range of longitudes lon_lower_index = np.where(lons[:] == 44.5)[0][0] lon_upper_index = np.where(lons[:] == 100.5)[0][0] lons = lons[lon_lower_index:lon_upper_index] temp = temp[0, :, lat_index, lon_lower_index:lon_upper_index] plt.pcolormesh(lons, depths[:], temp) plt.gca().invert_yaxis() plt.show() The indexing approach used here is quite flakey, so I certainly wouldn't use this in anything operational. Hope this helps, Phil ------------------------------------------------------------------------------ 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_feb _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Phil E. <pel...@gm...> - 2013-03-02 10:10:19
|
Incidentally, if you wanted to do this a little more expressively than indexing, you could look into using iris ( http://scitools.org.uk/iris/docs/latest/index.html). It doesn't currently support DAP, but if you had the NetCDF file (from * http://www.marine.csiro.au/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc *) you would do: import iris import iris.quickplot as qplt import matplotlib.pyplot as plt temp_cube = iris.load_cube(*'levitus_monthly_temp_98.**nc**'*) # Sort out some of the bad metadata. Firstly, set the unit, # secondly rename the dimension 1 coordinate to 'depth'. temp_cube.unit = *'C'* temp_cube.coord(dimensions=1, dim_coords=True).rename(*'depth'*) # Extract a spatial sub-domain. sub_temp_cube = temp_cube.extract(iris.Constraint(latitude=0.5, longitude=lambda v: 45 < v < 100)) # Iterate over all the depth-longitude sections (in this case it # iterates over time) for cross_sect_cube in sub_temp_cube.slices([*'depth'*, *'longitude'*]): qplt.pcolormesh(cross_sect_cube) plt.gca().invert_yaxis() plt.show() break [image: Inline images 1] Hope that helps! Phil On 2 March 2013 09:37, Phil Elson <pel...@gm...> wrote: > Perhaps something like: > > > from matplotlib import pyplot as plt > > from netCDF4 import Dataset > > import numpy as np > > > > url=*' > http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc > '* > > ds = Dataset(url) > > > > temp = ds.variables[*'TEMP'*] > > lats = ds.variables[*'**lat**'*] > > lons = ds.variables[*'**lon**'*] > > depths = ds.variables[*'z'*] > > > > # filter all but one latitude > > lat_index = np.where(lats[:] == 0.5)[0][0] > > lats = lats[lat_index] > > > # filter a range of longitudes > > lon_lower_index = np.where(lons[:] == 44.5)[0][0] > > lon_upper_index = np.where(lons[:] == 100.5)[0][0] > > lons = lons[lon_lower_index:lon_upper_index] > > > temp = temp[0, :, lat_index, lon_lower_index:lon_upper_index] > > > > plt.pcolormesh(lons, depths[:], temp) > > plt.gca().invert_yaxis() > > > plt.show() > > > > > > > The indexing approach used here is quite flakey, so I certainly wouldn't > use this in anything operational. > > Hope this helps, > > Phil > > > |
|
From: Phil E. <pel...@gm...> - 2013-03-02 09:37:27
|
Perhaps something like: from matplotlib import pyplot as plt from netCDF4 import Dataset import numpy as np url=*' http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc '* ds = Dataset(url) temp = ds.variables[*'TEMP'*] lats = ds.variables[*'**lat**'*] lons = ds.variables[*'**lon**'*] depths = ds.variables[*'z'*] # filter all but one latitude lat_index = np.where(lats[:] == 0.5)[0][0] lats = lats[lat_index] # filter a range of longitudes lon_lower_index = np.where(lons[:] == 44.5)[0][0] lon_upper_index = np.where(lons[:] == 100.5)[0][0] lons = lons[lon_lower_index:lon_upper_index] temp = temp[0, :, lat_index, lon_lower_index:lon_upper_index] plt.pcolormesh(lons, depths[:], temp) plt.gca().invert_yaxis() plt.show() The indexing approach used here is quite flakey, so I certainly wouldn't use this in anything operational. Hope this helps, Phil |
|
From: Sudheer J. <sud...@ya...> - 2013-03-02 06:20:21
|
Dear Users, I am trying to make vertical section plot along equator of Indian ocean from 45E to 100E and latitude 0. from levitus climatology using below code. What is the best and simple way to achieve this? np.meshgrid allows only 2 variables so I am not able to make x,y,z= using np.meshgrid(lat,depth,temp) how to go about this? Is there a set of codes for handling such graphs? url='http://www.marine.csiro.au/dods/nph-dods/dods-data/climatology-netcdf/levitus_monthly_temp_98.nc' import cdms2 from matplotlib import pyplot as plt from netCDF4 import Dataset as ncd f=cdms2.open(url) f.variables() x=f.getAxis('lon') y=f.getAxis('lat') z=f.getAxis('z') depth=z.getData() lat=y.getData() lon=x.getData() temp=f('TEMP') lonmin=np.where(lon==45) lonmax=np.where(lon==100) nlon=lon[lonmin:lonmax] lat0=np.where(lat==0.5) ntemp=temp[:,lat0,lonmin:lonmax] basically I wanted to make a plot plt.plot(nlon,depth,ntemp) Please help. with best regards, 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: Sudheer J. <sud...@ya...> - 2013-03-02 01:08:34
|
Thank you Pierre. with best regards, Sudheer From: Pierre Haessig <pie...@cr...> To: Cc: "mat...@li..." <mat...@li...> Sent: Thursday, 28 February 2013 7:15 PM Subject: Re: [Matplotlib-users] cross correlation Hi, Le 27/02/2013 10:01, Sudheer Joseph a écrit : > I was checking the plt.xcorr and it calls the np.correlate in side it. > It calls np.correlate(ts1,ts2, mode=2). Just as a side note, mode=2 is the old fashioned way to specify mode='full' [1]. This may help in reading the numpy.correlate doc. This being said, I'm really unfamiliar with cross-correlations. I just kind of know the usual 95% confidence interval for autocorrelation at 1.96/sqrt(n). Just as a quick check, this is what R uses by default, but there are options like ci.type get more appropriate intervals for an MA series (http://stat.ethz.ch/R-manual/R-patched/library/stats/html/plot.acf.html) best, Pierre [1] https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py#L678 ------------------------------------------------------------------------------ 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_feb _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Clare S. <cla...@gm...> - 2013-03-01 06:31:17
|
Hi, May I know if it's possible to stop FuncAnimation()? I wanted to be able to start FuncAnimation() when I click a "Start" button & stop the animation when I click a "Stop" button. Googled but can't find any solution. Best Regards, Clare. |
|
From: Benjamin R. <ben...@ou...> - 2013-03-01 00:16:29
|
On Thu, Feb 28, 2013 at 7:00 AM, Aditya Gilra <adi...@ya...>wrote: > Hi, > > I need to set the frame off for my plots, so that I can have axes only on > the sides I want, rather than on all four sides. > I do it this way: > > from pylab import * > > fig = figure(figsize=(3,2),dpi=300,facecolor='w') > ax = fig.add_subplot(111,frameon=False) > ax.add_artist(Line2D((0, 0), (0, 1),color='k',linewidth=0.5)) > ax.add_artist(Line2D((1, 1), (0, 1),color='k',linewidth=0.5)) > ax.set_yticks([0,1]) > ax.set_xticks([0,1]) > show() > > Much easier way is to use "spines": http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html > Unfortunately, now the ticks and axes-lines are misaligned, as seen in the > screenshots attached. In the second screenshot, I've panned the plot, so > the misalignment is even more visible. > > matplotlib.__version__ gives '1.1.1rc' > matplotlib.get_backend() gives 'TkAgg' > > ------- > > If I use 'WX' backend by adding these two line before the above code > (before pylab import): > > import matplotlib > matplotlib.use('WX') > > then the misalignment still appears to be there, but that is because the > Line2Ds are clipped in their width, but the ticks are not. This is seen by > panning the plot. > > I can set the clipping of the Line2Ds off by doing: > l1 = ax.add_artist(Line2D((0, 0), (0, 1),color='k',linewidth=0.5)) > l1.set_clip_on(False) > l2 = ax.add_artist(Line2D((1, 1), (0, 1),color='k',linewidth=0.5)) > l2.set_clip_on(False) > > So, WX backend is fine. > > Backend 'GTK' doesn't even have the above clipping problem. > > Now that is interesting and should be investigated further. Ben Root |
|
From: Thomas S. <spr...@hd...> - 2013-02-28 21:58:34
|
Am 28.02.2013 um 14:31 schrieb Pierre Haessig: > Hi Thomas, > > Le 27/02/2013 20:59, Thomas Sprinzing a écrit : >> To sum it up: use the old 7-bit equivalent for the degree sign, not any fancydancy UTF-8 character that is commonly not included in ye olde style postscript standard font embedded into your laser printer waaaay back then in the last millenium... > Just out of curiosity, I looked at the list of ASCII printable > characters > (http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters) and > didn't find the degree sign. However, I found it in the so-called "8 > bits extensions", which I believe is just the same as the Unicode U+00B0 confirmed by looking at http://www.adobe.com/type/browser/info/charsets.html Adobe western 2 has the same info. Alt-0179 or U+00B0 So, best is to use the degree sign. If you're not sure, what's present at rendering time, maybe try to force the generator to convert fonts to ps paths. But i donÄt know if matplotlib has tat optin at all... |
|
From: Gökhan S. <gok...@gm...> - 2013-02-28 20:17:36
|
Okay, fair enough. But do you have any ideas, how to force the PS creator to use a different font? Say -> font Times-Bold On Wed, Feb 27, 2013 at 12:59 PM, Thomas Sprinzing < spr...@hd...> wrote: > I'd say it's got nearly nothing to do with matplotlib. > > The question is: will the font be included in the .ps and in the .pdf? > > If not, which is most likely, it's upon the renderer to decide what to do > if the requested glyph in the requested font is present or not in the > system. > > pdf is more likely to have the fonts / glyphs used also embeded in the > pdf. One reason for them to be bigger than .ps. Ps, on the other hand, most > of the times relys on the renderer to have the exact same font, referenced > by name, pre-loaded in the system. Go figure. > > To sum it up: use the old 7-bit equivalent for the degree sign, not any > fancydancy UTF-8 character that is commonly not included in ye olde style > postscript standard font embedded into your laser printer waaaay back then > in the last millenium... > > Am 26.02.2013 um 21:26 schrieb Gökhan Sever: > > > > > > > On Tue, Feb 26, 2013 at 8:29 AM, Pierre Haessig < > pie...@cr...> wrote: > > Le 26/02/2013 14:38, Gökhan Sever a écrit : > >> > >> Could you test my outputs if they look fine on your side? > >> > >> http://atmos.uwyo.edu/~gsever/data/matplotlib/test.pdf > >> http://atmos.uwyo.edu/~gsever/data/matplotlib/test.ps > >> > > Good idea ! > > > > * your PDF file looks fine with Okular > > * your PS indeed has the problem you describe (again Okular) : > > - "°" (degree sign) is fine > > - but "⁰" (zero superscript) is replaced by "?" > > > > In case it may explain the difference : I'm using mpl 1.1.1rc2 from > Debian testing > > and I have the following line in my matplotlibrc (is it relevant ???) > > > > font.sans-serif : DejaVu Sans, sans-serif > > > > Best, > > Pierre > > > > My matplotlib is a git clone of a couple weeks old. > > > > There is this line in the PS file (opening via vim) > > > > %%BeginResource: font KDYSTE+NewCenturySchlbk-Roman > > > > don't know where it gets this. > > > > #font.serif : DejaVu Serif, Bitstream Vera Serif, New Century > Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus > Roman No9 L, Times New Roman, Times, Palatino, Charter, serif > > font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Lucida Grande, > Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif > > > > PS uses that even I choose to use fot.sans-serif. > > > > Dont see any font specification in the PDF file. > > > > > > > > -- > > Gökhan > ------------------------------------------------------------------------------ > > 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_feb_______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_feb > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Gökhan |
|
From: Pierre H. <pie...@cr...> - 2013-02-28 18:34:35
|
Hi, Le 27/02/2013 10:01, Sudheer Joseph a écrit : > I was checking the plt.xcorr and it calls the np.correlate in side it. > It calls np.correlate(ts1,ts2, mode=2). Just as a side note, mode=2 is the old fashioned way to specify mode='full' [1]. This may help in reading the numpy.correlate doc. This being said, I'm really unfamiliar with cross-correlations. I just kind of know the usual 95% confidence interval for autocorrelation at 1.96/sqrt(n). Just as a quick check, this is what R uses by default, but there are options like ci.type get more appropriate intervals for an MA series (http://stat.ethz.ch/R-manual/R-patched/library/stats/html/plot.acf.html) best, Pierre [1] https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py#L678 |