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: ChaoYue <cha...@gm...> - 2013-04-08 20:55:43
|
Hi Kevin, I don't check the link you provided very carefully. So I guess you already find a solution. otherwise I have done something similar before and have made a bit general function to do the job, which I think might be helpful for you. You can check the following three functions at https://github.com/ChaoYue/pylsce/blob/master/g.py Calc_Newaxes_Fraction Axes_Replace_Split_Axes Axes_Set_Breakaxis a working example is below: >>> fig,axs = plt.subplots(nrows=2) >>> bottom_ax, top_ax = g.Axes_Replace_Split_Axes(fig,axs[0],split_fraction=[0.36,0.04,0.6],direction='v') >>> g.Axes_Set_Breakaxis(bottom_ax, top_ax, 0.01,0.03,'v') >>> left_ax, right_ax = g.Axes_Replace_Split_Axes(fig,axs[1],split_fraction=[0.38,0.02,0.6],direction='h') >>> g.Axes_Set_Breakaxis(left_ax, right_ax, 0.03,0.02,'h') the figure is as attached. cheers, chao On Mon, Apr 8, 2013 at 9:05 PM, Kevin Hunter [via matplotlib] < ml-...@n5...> wrote: > At 4:20pm -0400 Sun, 07 Apr 2013, Francesco Montesano wrote: > > Il giorno 07/apr/2013 21:03, Kevin Hunter Kesling ha scritto: > >> On the other hand, I'm still such a noob at Matplotlib ... is there > >> a way to have one of the subplots take up more than its default 50% > >> allotment? > > > > you can give a look at the last two plots in this example > > http://matplotlib.org/examples/pylab_examples/demo_tight_layout.html or > use > > plot.axes providing the rectangle that you want > > That is closer to what I want, but still not there. I was finally able > to find something that fit the bill to 95% of what I want: > > > http://matplotlib.1069221.n5.nabble.com/Proposal-for-Broken-Axes-td38050.html > > The first post by 'klukas' does exactly what I asked for. It's a > zig-zag on the Y-axis to show that what is graphed is not continuous, > and unlike the various "official" examples, the zig-zag placement is > user-specifiable, as opposed to exactly halfway between the top and > bottom. > > The only thing I have yet to figure out how to do is to simultaneously > have a zig-zag on the X axis as well -- an artifact of how these > zig-zags must be created via multiple axes on the same figure, rather > than as built in to the axis artist. > > For googleability: > > The above linked graph code enables for matplotlib: > > - suppressed zeros on the Y-axis of an XY plot > - showing suppressed data on the Y-axis > - lightning bolt symbol on the Y-axis > - zig-zag on the Y-axis > - a "broken" Y-axis > > Thanks for your pointers, Francesco, as they helped me to fine-tune my > Google search terms. And thank you, Klukas, whoever you are. > > Cheers, > > Kevin > > ------------------------------------------------------------------------------ > > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > [hidden email] <http://user/SendEmail.jtp?type=node&node=40857&i=0> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://matplotlib.1069221.n5.nabble.com/zig-zag-to-represent-suppressed-0-on-axis-tp40849p40857.html > To start a new topic under matplotlib - users, email > ml-...@n5... > To unsubscribe from matplotlib, click here<http://matplotlib.1069221.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=2&code=Y2hhb3l1ZWpveUBnbWFpbC5jb218MnwxMzg1NzAzMzQx> > . > NAML<http://matplotlib.1069221.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> > -- *********************************************************************************** Chao YUE Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL) UMR 1572 CEA-CNRS-UVSQ Batiment 712 - Pe 119 91191 GIF Sur YVETTE Cedex Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16 ************************************************************************************ break_axis.jpg (182K) <http://matplotlib.1069221.n5.nabble.com/attachment/40858/0/break_axis.jpg> -- View this message in context: http://matplotlib.1069221.n5.nabble.com/zig-zag-to-represent-suppressed-0-on-axis-tp40849p40858.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Kevin H. K. <kmh...@nc...> - 2013-04-08 19:05:12
|
At 4:20pm -0400 Sun, 07 Apr 2013, Francesco Montesano wrote: > Il giorno 07/apr/2013 21:03, Kevin Hunter Kesling ha scritto: >> On the other hand, I'm still such a noob at Matplotlib ... is there >> a way to have one of the subplots take up more than its default 50% >> allotment? > > you can give a look at the last two plots in this example > http://matplotlib.org/examples/pylab_examples/demo_tight_layout.html or use > plot.axes providing the rectangle that you want That is closer to what I want, but still not there. I was finally able to find something that fit the bill to 95% of what I want: http://matplotlib.1069221.n5.nabble.com/Proposal-for-Broken-Axes-td38050.html The first post by 'klukas' does exactly what I asked for. It's a zig-zag on the Y-axis to show that what is graphed is not continuous, and unlike the various "official" examples, the zig-zag placement is user-specifiable, as opposed to exactly halfway between the top and bottom. The only thing I have yet to figure out how to do is to simultaneously have a zig-zag on the X axis as well -- an artifact of how these zig-zags must be created via multiple axes on the same figure, rather than as built in to the axis artist. For googleability: The above linked graph code enables for matplotlib: - suppressed zeros on the Y-axis of an XY plot - showing suppressed data on the Y-axis - lightning bolt symbol on the Y-axis - zig-zag on the Y-axis - a "broken" Y-axis Thanks for your pointers, Francesco, as they helped me to fine-tune my Google search terms. And thank you, Klukas, whoever you are. Cheers, Kevin |
|
From: Eric F. <ef...@ha...> - 2013-04-08 17:38:42
|
On 2013/04/08 4:13 AM, epi wrote: > Hi All, > > i'm new to basemap, truing to learn how to plot vector from a netcdf file > > the variables in my file are : > > - time > - Significant_height_of_combined_wind_waves_and_swell_surface > - u-component_of_wind_surface > - v-component_of_wind_surface > > this is my code, the pcolormesh is fine > > #### > > import netCDF4 > import datetime as dt > > import numpy as np > import numpy.ma as ma > from datetime import date, datetime, timedelta > > from mpl_toolkits.basemap import Basemap > > > > url='http://geoport.whoi.edu/thredds/dodsC/fmrc/NCEP/ww3/cfsr/4m/best' > #url = 'http://geoport.whoi.edu/thredds/dodsC/fmrc/NCEP/ww3/cfsr/10m/best' > nc = netCDF4.Dataset(url) > #nc.variables.keys() > > > time_var = nc.variables[str('time')] > wave_var = nc.variables['Significant_height_of_combined_wind_waves_and_swell_surface'] > date = datetime(1991,11,1,12) > istart = netCDF4.date2index(date,time_var,select='nearest') > lat = nc.variables['lat'][:] > lon = nc.variables['lon'][:] > uin = nc.variables['u-component_of_wind_surface'][istart,:,:] > vin = nc.variables['v-component_of_wind_surface'][istart,:,:] > var = wave_var[istart,:,:] > wave = ma.masked_where(np.isnan(var),var) > > > m = Basemap(llcrnrlon=-71.5,llcrnrlat=39.5,urcrnrlon=-63.0,urcrnrlat=46.0,\ > lat_0=20.,lon_0=-60.,lat_ts=20.) > > > lons, lats = np.meshgrid(lon,lat) > x, y = m(lons, lats) > > > m.pcolormesh(lon[:], lat[:], wave, vmin=0, vmax=3); > m.quiver(x, y, uin, vin); Try something like this: m.quiver(x[::5,::5], y[::5,::5], uin[::5,::5], vin[::5,::5], scale=200); You can use the scale and the scale_units kwargs to control the arrow lengths. Quiver plots don't work visually when there are too many arrows, so given the scale of your plot, you need to subsample the wind vectors as illustrated. Eric > > > #### > > .. but the vector plot in overlay doesn't render what i'm looking for .. obviously my fault in the code > thank you for your precious help! > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: epi <mas...@gm...> - 2013-04-08 14:13:30
|
Hi All,
i'm new to basemap, truing to learn how to plot vector from a netcdf file
the variables in my file are :
- time
- Significant_height_of_combined_wind_waves_and_swell_surface
- u-component_of_wind_surface
- v-component_of_wind_surface
this is my code, the pcolormesh is fine
####
import netCDF4
import datetime as dt
import numpy as np
import numpy.ma as ma
from datetime import date, datetime, timedelta
from mpl_toolkits.basemap import Basemap
url='http://geoport.whoi.edu/thredds/dodsC/fmrc/NCEP/ww3/cfsr/4m/best'
#url = 'http://geoport.whoi.edu/thredds/dodsC/fmrc/NCEP/ww3/cfsr/10m/best'
nc = netCDF4.Dataset(url)
#nc.variables.keys()
time_var = nc.variables[str('time')]
wave_var = nc.variables['Significant_height_of_combined_wind_waves_and_swell_surface']
date = datetime(1991,11,1,12)
istart = netCDF4.date2index(date,time_var,select='nearest')
lat = nc.variables['lat'][:]
lon = nc.variables['lon'][:]
uin = nc.variables['u-component_of_wind_surface'][istart,:,:]
vin = nc.variables['v-component_of_wind_surface'][istart,:,:]
var = wave_var[istart,:,:]
wave = ma.masked_where(np.isnan(var),var)
m = Basemap(llcrnrlon=-71.5,llcrnrlat=39.5,urcrnrlon=-63.0,urcrnrlat=46.0,\
lat_0=20.,lon_0=-60.,lat_ts=20.)
lons, lats = np.meshgrid(lon,lat)
x, y = m(lons, lats)
m.pcolormesh(lon[:], lat[:], wave, vmin=0, vmax=3);
m.quiver(x, y, uin, vin);
####
.. but the vector plot in overlay doesn't render what i'm looking for .. obviously my fault in the code
thank you for your precious help!
|
|
From: Francesco M. <fra...@gm...> - 2013-04-07 20:21:02
|
Il giorno 07/apr/2013 21:03, "Kevin Hunter Kesling" <kmh...@nc...> ha scritto: > > At 2:34pm -0400 Sun, 07 Apr 2013, Francesco Montesano wrote: >> >> 2013/4/7 Kevin Hunter Kesling >> >>> I'm looking for a way to represent on an X-Y graph the fact that an axis >>> does not start from the origin. When drawing by hand, I'll use a little >>> zig-zag, lightning bolt, or slight space on the axis in question to >>> represent this fact, just off from where the X and Y axis lines meet. >>> How would I go about telling Matplotlib to do this? After two hours of >>> perusing the Axes documentation, and tooling around in an IPython shell, >>> I appear to be striking out. >>> >>> If you are using a monospaced font to view this email, this may >>> illustrate the functionality for which I'm looking: >>> >>> 150 || * * >>> 145 || * * >>> 140 || * * >>> 135 || * >>> 130 || >>> / >>> / <---- "zig zag" I want >>> || >>> 0 -------------------------------- >>> 0 1 2 3 4 5 6 7 8 > > >> Have you given a look at this example: >> http://matplotlib.org/examples/pylab_examples/broken_axis.html > > > Damn, I clearly missed that one. And once I know what I'm looking for, my eye goes right to it. Sorry for the noise. > > On the other hand, I'm still such a noob at Matplotlib ... is there a way to have one of the subplots take up more than its default 50% allotment? > > Thanks, > > Kevin hi Kevin, you can give a look at the last two plots in this example http://matplotlib.org/examples/pylab_examples/demo_tight_layout.html or use plot.axes providing the rectangle that you want fra |
|
From: Kevin H. K. <kmh...@nc...> - 2013-04-07 19:03:29
|
At 2:34pm -0400 Sun, 07 Apr 2013, Francesco Montesano wrote: > 2013/4/7 Kevin Hunter Kesling >> I'm looking for a way to represent on an X-Y graph the fact that an axis >> does not start from the origin. When drawing by hand, I'll use a little >> zig-zag, lightning bolt, or slight space on the axis in question to >> represent this fact, just off from where the X and Y axis lines meet. >> How would I go about telling Matplotlib to do this? After two hours of >> perusing the Axes documentation, and tooling around in an IPython shell, >> I appear to be striking out. >> >> If you are using a monospaced font to view this email, this may >> illustrate the functionality for which I'm looking: >> >> 150 || * * >> 145 || * * >> 140 || * * >> 135 || * >> 130 || >> / >> / <---- "zig zag" I want >> || >> 0 -------------------------------- >> 0 1 2 3 4 5 6 7 8 > Have you given a look at this example: > http://matplotlib.org/examples/pylab_examples/broken_axis.html Damn, I clearly missed that one. And once I know what I'm looking for, my eye goes right to it. Sorry for the noise. On the other hand, I'm still such a noob at Matplotlib ... is there a way to have one of the subplots take up more than its default 50% allotment? Thanks, Kevin |
|
From: Francesco M. <fra...@gm...> - 2013-04-07 18:34:54
|
2013/4/7 Kevin Hunter Kesling <kmh...@nc...> > Hullo Matplotlib List, > > I'm looking for a way to represent on an X-Y graph the fact that an axis > does not start from the origin. When drawing by hand, I'll use a little > zig-zag, lightning bolt, or slight space on the axis in question to > represent this fact, just off from where the X and Y axis lines meet. > How would I go about telling Matplotlib to do this? After two hours of > perusing the Axes documentation, and tooling around in an IPython shell, > I appear to be striking out. > > If you are using a monospaced font to view this email, this may > illustrate the functionality for which I'm looking: > > > 150 || * * > 145 || * * > 140 || * * > 135 || * > 130 || > / > / <---- "zig zag" I want > || > 0 -------------------------------- > 0 1 2 3 4 5 6 7 8 > > > Many thanks for any help, > > Kevin > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > Hi Kevin, Have you given a look at this example: http://matplotlib.org/examples/pylab_examples/broken_axis.html Francesco |
|
From: Kevin H. K. <kmh...@nc...> - 2013-04-07 18:26:33
|
Hullo Matplotlib List,
I'm looking for a way to represent on an X-Y graph the fact that an axis
does not start from the origin. When drawing by hand, I'll use a little
zig-zag, lightning bolt, or slight space on the axis in question to
represent this fact, just off from where the X and Y axis lines meet.
How would I go about telling Matplotlib to do this? After two hours of
perusing the Axes documentation, and tooling around in an IPython shell,
I appear to be striking out.
If you are using a monospaced font to view this email, this may
illustrate the functionality for which I'm looking:
150 || * *
145 || * *
140 || * *
135 || *
130 ||
/
/ <---- "zig zag" I want
||
0 --------------------------------
0 1 2 3 4 5 6 7 8
Many thanks for any help,
Kevin
|
|
From: Zhu, S. <zhu...@gm...> - 2013-04-07 06:14:51
|
Hi Sterling, thank you, I tried plt.text and it works! It seems text() does not support list input, and I have to write loop to print the number one by one. |
|
From: Sterling S. <sm...@fu...> - 2013-04-07 04:39:14
|
See plt.text and plt.annotate See http://matplotlib.org/users/annotations_guide.html and references therein. -Sterling On Apr 6, 2013, at 3:54PM, Zhu, Shenli wrote: > How to add number near point of scatter plot? > e.g. I have two point 1 is (1,3) and point 2 (2,4), how can I add 1 > and 2 to scatter plot near these two points? Thanks! > > import matplotlib.pyplot as plt > x = [1,2] > y = [3,4] > plt.scatter(x, y) > plt.show() > > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Zhu, S. <zhu...@gm...> - 2013-04-06 23:00:13
|
How to add number near point of scatter plot? e.g. I have two point 1 is (1,3) and point 2 (2,4), how can I add 1 and 2 to scatter plot near these two points? Thanks! import matplotlib.pyplot as plt x = [1,2] y = [3,4] plt.scatter(x, y) plt.show() |
|
From: Mark L. <bre...@ya...> - 2013-04-06 19:08:44
|
On 04/04/2013 19:00, Mark Lawrence wrote: > Sadly no :( I want the day of the month that I'm processing *OR* the > last day. The worst case for this is obviously the 31st of each month. > The rrule code I've given provides exactly that. When transferred to > mpl that doesn't work. Best seen by changing the lines I gave originally to this. start = datetime.date(2013, 4, 5) until = datetime.date(2014, 4, 5) dates = rrule(MONTHLY, bymonthday=(5, -1), bysetpos=1, until=until) rrule output as follows. 2013-04-05 10:15:24 2013-05-05 10:15:24 2013-06-05 10:15:24 2013-07-05 10:15:24 2013-08-05 10:15:24 2013-09-05 10:15:24 2013-10-05 10:15:24 2013-11-05 10:15:24 2013-12-05 10:15:24 2014-01-05 10:15:24 2014-02-05 10:15:24 2014-03-05 10:15:24 Plot attached. > > On 04/04/2013 17:31, Phil Elson wrote: >> Hi Mark, >> >> Thanks for persevering :-) >> >> What is it you want to achieve? Is it that you just want the last day of >> each month as the located value? >> >> Changing your locator to: >> >> ax.xaxis.set_major_locator(MonthLocator(bymonthday = -1)) >> >> Seems to do the trick for me (I've never looked at the mpl date magic, >> so I can give no guarantees). >> >> HTH, >> >> >> On 4 April 2013 17:18, Mark Lawrence >> <bre...@ya... >> <mailto:bre...@ya...>> wrote: >> >> On 01/04/2013 14:48, Mark Lawrence wrote: >> > On 29/03/2013 15:49, Mark Lawrence wrote: >> >> Hi all, >> >> >> >> From http://labix.org/python-dateutil >> >> >> >> "To generate a rrule for the use case of "a date on the >> specified day of >> >> the month, unless it is beyond the end of month, in which case >> it will >> >> be the last day of the month" use the following: >> >> >> >> rrule(MONTHLY, bymonthday=(some_day, -1), bysetpos=1) >> >> >> >> This will generate a value for every calendar month regardless >> of the >> >> day of the month it is started from." >> >> >> >> Using bymonthday with MonthLocator gives ticks on the day given >> and the >> >> last day of the month, which looks extremely ugly. Code below >> demonstrates. >> >> >> >> from dateutil.rrule import * >> >> import datetime >> >> import matplotlib.pyplot as plt >> >> from matplotlib.ticker import FormatStrFormatter, MultipleLocator >> >> from matplotlib.dates import DateFormatter, MonthLocator, DayLocator >> >> >> >> start = datetime.date(2013, 3, 29) >> >> until = datetime.date(2014, 3, 29) >> >> dates = rrule(MONTHLY, bymonthday=(29, -1), bysetpos=1, until=until) >> >> for d in dates:print(d) >> >> >> >> dates = [start, until] >> >> values = [0, 1] >> >> plt.ylabel('Balance') >> >> plt.grid() >> >> ax = plt.subplot(111) >> >> plt.plot_date(dates, values, fmt = 'rx-') >> >> ax.xaxis.set_major_locator(MonthLocator(bymonthday = >> (dates[0].day, -1))) >> >> ax.xaxis.set_major_formatter(DateFormatter('%d/%m/%y')) >> >> ax.yaxis.set_major_formatter(FormatStrFormatter('£%0.2f')) >> >> ax.yaxis.set_minor_locator(MultipleLocator(5)) >> >> plt.axis(xmin=dates[0], xmax=dates[-1]) >> >> plt.setp(plt.gca().get_xticklabels(), rotation = 45, fontsize = 10) >> >> plt.setp(plt.gca().get_yticklabels(), fontsize = 10) >> >> plt.show() >> >> >> > >> > Seems an apt date to realise that I didn't say much :( >> > >> > Assuming that I'm correct would you like an issue raised on the bug >> > tracker? If not please correct the mistake I've made, presumably in >> > reading the docs, which I think are excellent by the way. >> > >> >> Anybody? >> >> -- >> If you're using GoogleCrap™ please read this >> http://wiki.python.org/moin/GoogleGroupsPython. >> > > -- If you're using GoogleCrap™ please read this http://wiki.python.org/moin/GoogleGroupsPython. Mark Lawrence |
|
From: John G. <jdg...@ma...> - 2013-04-06 04:40:17
|
Phil and Derek, I just created this as the following issue https://github.com/matplotlib/matplotlib/issues/1886 I was wrong about TkAgg having a problem. The default backend for Derek and me is MacOSX. Both TkAgg and QT4Agg display correctly for me. John |
|
From: Sudheer J. <sud...@ya...> - 2013-04-05 16:54:21
|
Thank You Scott, I mistook the values I assumed .1 to .8 as the total x size and expected half of it should provide me 2 half boxes. thanks a lot for clarification. 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 *************************************************************** ----- Original Message ----- > From: Scott Sinclair <sco...@gm...> > To: "mat...@li..." <mat...@li...> > Cc: > Sent: Friday, 5 April 2013 6:36 PM > Subject: Re: [Matplotlib-users] windrose > > On 5 April 2013 03:54, Sudheer Joseph <sud...@ya...> wrote: >> Some how I am not getting the trick of the >> rect = [0.1, 0.1, 0.8, 0.8] >> >> I tried >> rect1= [0.1,0.1,.4,.4] >> and rect2=[.4,.4,.8,.8] >> but did not work > > You don't say exactly what you did, and how it didn't work... > > If you read > http://matplotlib.org/api/figure_api.html?highlight=add_axes#matplotlib.figure.Figure.add_axes > it says "Add an axes at position rect [left, bottom, width, > height]...". So you need to specify sensible values in rect1 and > rect2. > > The following works fine for me: > > import matplotlib.pyplot as plt > fig = plt.figure() > rect1 = [0.1, 0.1, 0.4, 0.4] > rect2 = [0.55, 0.1, 0.4, 0.4] > ax1 = fig.add_axes(rect1) > ax2 = fig.add_axes(rect2) > ax1.plot(range(3)) > ax2.plot(range(4, 8)) > plt.show() > > So I would expect that you can adapt your original code to something > like the following (untested): > > from windrose import WindroseAxes > from matplotlib import pyplot as plt > from numpy.random import random > > def new_axes(fig, rect): > ax = WindroseAxes(fig, rect, axisbg='w') > fig.add_axes(ax) > return ax > > def set_legend(ax): > l = ax.legend(axespad=-0.10) > plt.setp(l.get_texts(), fontsize=8) > > #Create wind speed and direction variables > ws = random(500)*6 > wd = random(500)*360 > ws1 = random(500)*6 > wd1 = random(500)*360 > > rect1 = [0.1, 0.1, 0.4, 0.4] > rect2 = [0.55, 0.1, 0.4, 0.4] > > fig = plt.figure(figsize=(8, 8), dpi=80, facecolor='w', > edgecolor='w') > > ax1 = new_axes(fig, rect1) > ax2 = new_axes(fig, rect2) > > #windrose like a stacked histogram with normed (displayed in percent) results > ax1.bar(wd, ws, normed=True, opening=0.8, edgecolor='white') > set_legend(ax1) > > #windrose like a stacked histogram with normed (displayed in percent) results > ax2.bar(wd1, ws1, normed=True, opening=0.8, edgecolor='white') > set_legend(ax2) > > plt.show() > > Cheers, > Scott > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Derek T. <der...@gm...> - 2013-04-05 16:22:47
|
Here's the output. I'm running OS X 10.8.3. I installed matplotlib from homebrew. $HOME=/Users/dect CONFIGDIR=/Users/dect/.matplotlib matplotlib data path /usr/local/lib/python2.7/site-packages/matplotlib/mpl-data loaded rc file /usr/local/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc matplotlib version 1.2.0 verbose.level helpful interactive is False platform is darwin Using fontManager instance from /Users/dect/.matplotlib/fontList.cache backend MacOSX version unknown >>> mpl.__file__ '/usr/local/lib/python2.7/site-packages/matplotlib/__init__.pyc' >>> mpl.get_backend() 'MacOSX' >>> mpl.__version__ '1.2.0' >>> mpl.get_configdir() '/Users/dect/.matplotlib' On Fri, Apr 5, 2013 at 2:07 AM, Phil Elson <pel...@gm...> wrote: > Thanks Derek & John. > > Very strange. Here's my setup: > >>>> import matplotlib >>>> matplotlib.__version__ > '1.2.0' >>>> matplotlib.get_backend() > 'TkAgg' > > > Would you mind providing all of the relevant details suggested in > http://matplotlib.org/faq/troubleshooting_faq.html#troubleshooting, along > with the code to reproduce the problem in a new github issue? > > Once I have all of the necessary details, I'd be happy to have a look into > this to see if I can find a solution. > > Cheers, > > Phil > > > > On 5 April 2013 02:02, John Gleeson <jdg...@ma...> wrote: >> >> >> On 2013-04-04, at 10:51 AM, Derek Thomas wrote: >> >>> ...screen capture of the display... >>> <grab.tiff> >> >> >> Derek, >> >> I just tried Phil's version of the code on my Mac (MP 1.2.0), and I see >> exactly the same problem as in your grab.tiff. This is using the default >> TkAgg backend. >> >> I happen to have built MP 1.2.0 with the Qt4 backend option. When I >> prepend the lines >> >> from matplotlib import use >> use("QT4Agg") >> >> to use Qt4, I get the expected (correct) display output. >> >> Apparently this is a bug somewhere in the chain TkAgg/Tkinter/Tk. >> >> John >> > |
|
From: Pawel C. <cho...@li...> - 2013-04-05 15:20:49
|
Thank you, it works flawlessly now :) 2013/3/31 Juergen Hasch <py...@el...> > Am 31.03.2013 08:50, schrieb Pawel Chojnacki: > > Thank you very much - hovewer, your solution isn't enough. Adding your >> lines generate: >> >> > The problem is this: > > > RuntimeError: LaTeX was not able to process the following string: >> u'' >> Here is the full report generated by LaTeX: >> >> > Latex doesn't like the empty string. This is caused by the '\n' in your > title. > Can you replace your original line: > py.title(u'Wyniki eksperymentu pomiaru gęstości ciała > stałego\n',size='large',**family='serif') > with the new one, as in the example I sent you: > > py.title(u'Wyniki eksperymentu pomiaru gęstości ciała > stałego',size='large',family='**serif') > > |
|
From: Scott S. <sco...@gm...> - 2013-04-05 13:07:13
|
On 5 April 2013 03:54, Sudheer Joseph <sud...@ya...> wrote: > Some how I am not getting the trick of the > rect = [0.1, 0.1, 0.8, 0.8] > > I tried > rect1= [0.1,0.1,.4,.4] > and rect2=[.4,.4,.8,.8] > but did not work You don't say exactly what you did, and how it didn't work... If you read http://matplotlib.org/api/figure_api.html?highlight=add_axes#matplotlib.figure.Figure.add_axes it says "Add an axes at position rect [left, bottom, width, height]...". So you need to specify sensible values in rect1 and rect2. The following works fine for me: import matplotlib.pyplot as plt fig = plt.figure() rect1 = [0.1, 0.1, 0.4, 0.4] rect2 = [0.55, 0.1, 0.4, 0.4] ax1 = fig.add_axes(rect1) ax2 = fig.add_axes(rect2) ax1.plot(range(3)) ax2.plot(range(4, 8)) plt.show() So I would expect that you can adapt your original code to something like the following (untested): from windrose import WindroseAxes from matplotlib import pyplot as plt from numpy.random import random def new_axes(fig, rect): ax = WindroseAxes(fig, rect, axisbg='w') fig.add_axes(ax) return ax def set_legend(ax): l = ax.legend(axespad=-0.10) plt.setp(l.get_texts(), fontsize=8) #Create wind speed and direction variables ws = random(500)*6 wd = random(500)*360 ws1 = random(500)*6 wd1 = random(500)*360 rect1 = [0.1, 0.1, 0.4, 0.4] rect2 = [0.55, 0.1, 0.4, 0.4] fig = plt.figure(figsize=(8, 8), dpi=80, facecolor='w', edgecolor='w') ax1 = new_axes(fig, rect1) ax2 = new_axes(fig, rect2) #windrose like a stacked histogram with normed (displayed in percent) results ax1.bar(wd, ws, normed=True, opening=0.8, edgecolor='white') set_legend(ax1) #windrose like a stacked histogram with normed (displayed in percent) results ax2.bar(wd1, ws1, normed=True, opening=0.8, edgecolor='white') set_legend(ax2) plt.show() Cheers, Scott |
|
From: Phil E. <pel...@gm...> - 2013-04-05 09:07:47
|
Thanks Derek & John. Very strange. Here's my setup: >>> import matplotlib >>> matplotlib.__version__ '1.2.0' >>> matplotlib.get_backend() 'TkAgg' Would you mind providing all of the relevant details suggested in http://matplotlib.org/faq/troubleshooting_faq.html#troubleshooting, along with the code to reproduce the problem in a new github issue? Once I have all of the necessary details, I'd be happy to have a look into this to see if I can find a solution. Cheers, Phil On 5 April 2013 02:02, John Gleeson <jdg...@ma...> wrote: > > On 2013-04-04, at 10:51 AM, Derek Thomas wrote: > > ...screen capture of the display... >> <grab.tiff> >> > > Derek, > > I just tried Phil's version of the code on my Mac (MP 1.2.0), and I see > exactly the same problem as in your grab.tiff. This is using the default > TkAgg backend. > > I happen to have built MP 1.2.0 with the Qt4 backend option. When I > prepend the lines > > from matplotlib import use > use("QT4Agg") > > to use Qt4, I get the expected (correct) display output. > > Apparently this is a bug somewhere in the chain TkAgg/Tkinter/Tk. > > John > > |
|
From: Sudheer J. <sud...@ya...> - 2013-04-05 01:54:55
|
Thank you Scott, Some how I am not getting the trick of the rect = [0.1, 0.1, 0.8, 0.8] I tried rect1= [0.1,0.1,.4,.4] and rect2=[.4,.4,.8,.8] but did not work 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 *************************************************************** ----- Original Message ----- > From: Scott Sinclair <sco...@gm...> > To: "mat...@li..." <mat...@li...> > Cc: > Sent: Thursday, 4 April 2013 12:37 PM > Subject: Re: [Matplotlib-users] windrose > > On 4 April 2013 06:45, Sudheer Joseph <sud...@ya...> wrote: >> Below is a sample script I got from windrose pack. I would like > to place 2 windroses side by side > ... >> >> from windrose import WindroseAxes >> from matplotlib import pyplot as plt > ... >> def new_axes(): >> fig = plt.figure(figsize=(8, 8), dpi=80, facecolor='w', > edgecolor='w') >> rect = [0.1, 0.1, 0.8, 0.8] >> ax = WindroseAxes(fig, rect, axisbg='w') >> fig.add_axes(ax) >> return ax > > I'm not familiar with the windrose package, but it looks like the rect > parameter to WindroseAxes specifies the size of the generated axes in > figure co-ordinates (see > http://matplotlib.org/api/figure_api.html?highlight=add_axes#matplotlib.figure.Figure.add_axes). > You should be able to pass in a different list of co-ordinates for > each WindroseAxes to get side-by-side axes on the same figure... > > Cheers, > Scott > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: John G. <jdg...@ma...> - 2013-04-05 01:02:42
|
On 2013-04-04, at 10:51 AM, Derek Thomas wrote:
> ...screen capture of the display...
> <grab.tiff>
Derek,
I just tried Phil's version of the code on my Mac (MP 1.2.0), and I
see exactly the same problem as in your grab.tiff. This is using the
default TkAgg backend.
I happen to have built MP 1.2.0 with the Qt4 backend option. When I
prepend the lines
from matplotlib import use
use("QT4Agg")
to use Qt4, I get the expected (correct) display output.
Apparently this is a bug somewhere in the chain TkAgg/Tkinter/Tk.
John
|
|
From: Mark L. <bre...@ya...> - 2013-04-04 18:00:32
|
Sadly no :( I want the day of the month that I'm processing *OR* the last day. The worst case for this is obviously the 31st of each month. The rrule code I've given provides exactly that. When transferred to mpl that doesn't work. On 04/04/2013 17:31, Phil Elson wrote: > Hi Mark, > > Thanks for persevering :-) > > What is it you want to achieve? Is it that you just want the last day of > each month as the located value? > > Changing your locator to: > > ax.xaxis.set_major_locator(MonthLocator(bymonthday = -1)) > > Seems to do the trick for me (I've never looked at the mpl date magic, > so I can give no guarantees). > > HTH, > > > On 4 April 2013 17:18, Mark Lawrence > <bre...@ya... > <mailto:bre...@ya...>> wrote: > > On 01/04/2013 14:48, Mark Lawrence wrote: > > On 29/03/2013 15:49, Mark Lawrence wrote: > >> Hi all, > >> > >> From http://labix.org/python-dateutil > >> > >> "To generate a rrule for the use case of "a date on the > specified day of > >> the month, unless it is beyond the end of month, in which case > it will > >> be the last day of the month" use the following: > >> > >> rrule(MONTHLY, bymonthday=(some_day, -1), bysetpos=1) > >> > >> This will generate a value for every calendar month regardless > of the > >> day of the month it is started from." > >> > >> Using bymonthday with MonthLocator gives ticks on the day given > and the > >> last day of the month, which looks extremely ugly. Code below > demonstrates. > >> > >> from dateutil.rrule import * > >> import datetime > >> import matplotlib.pyplot as plt > >> from matplotlib.ticker import FormatStrFormatter, MultipleLocator > >> from matplotlib.dates import DateFormatter, MonthLocator, DayLocator > >> > >> start = datetime.date(2013, 3, 29) > >> until = datetime.date(2014, 3, 29) > >> dates = rrule(MONTHLY, bymonthday=(29, -1), bysetpos=1, until=until) > >> for d in dates:print(d) > >> > >> dates = [start, until] > >> values = [0, 1] > >> plt.ylabel('Balance') > >> plt.grid() > >> ax = plt.subplot(111) > >> plt.plot_date(dates, values, fmt = 'rx-') > >> ax.xaxis.set_major_locator(MonthLocator(bymonthday = > (dates[0].day, -1))) > >> ax.xaxis.set_major_formatter(DateFormatter('%d/%m/%y')) > >> ax.yaxis.set_major_formatter(FormatStrFormatter('£%0.2f')) > >> ax.yaxis.set_minor_locator(MultipleLocator(5)) > >> plt.axis(xmin=dates[0], xmax=dates[-1]) > >> plt.setp(plt.gca().get_xticklabels(), rotation = 45, fontsize = 10) > >> plt.setp(plt.gca().get_yticklabels(), fontsize = 10) > >> plt.show() > >> > > > > Seems an apt date to realise that I didn't say much :( > > > > Assuming that I'm correct would you like an issue raised on the bug > > tracker? If not please correct the mistake I've made, presumably in > > reading the docs, which I think are excellent by the way. > > > > Anybody? > > -- > If you're using GoogleCrap™ please read this > http://wiki.python.org/moin/GoogleGroupsPython. > -- If you're using GoogleCrap™ please read this http://wiki.python.org/moin/GoogleGroupsPython. Mark Lawrence |
|
From: Derek T. <der...@gm...> - 2013-04-04 16:51:28
|
I've been seeing some discrepancy between display and saved figures. See attached. One is the result of the save, the other is the screen capture of the display. I'm using 1.2.0 on a mac. On Thu, Apr 4, 2013 at 9:46 AM, Derek Thomas <der...@gm...> wrote: > I get a different result. > > > On Thu, Apr 4, 2013 at 9:25 AM, Phil Elson <pel...@gm...> wrote: > >> Hi Derek, >> >> What are we looking at here? >> >> The following code: >> >> import matplotlib.pyplot as plt >> import matplotlib.transforms as mtrans >> import numpy as np >> >> plt.figure() >> ax = plt.subplot(111) >> base_trans = ax.transData >> mtx = np.array([[1,1,0], >> [0,1,0], >> [0,0,1]]) >> tr = mtrans.Affine2D(matrix=mtx) + base_trans >> >> plt.plot([1,2,3], [1,2,3], 'gray', transform=tr) >> plt.scatter([1,2,3], [1,2,3], c='k', marker='D', transform=tr) >> plt.show() >> >> produces the following plot on v1.2.0: >> [image: Inline images 1] >> Is this unexpected or are you getting a different result to me? >> >> Regards, >> >> >> >> On 4 April 2013 17:06, Derek Thomas <der...@gm...> wrote: >> >>> I posted a related question on stackoverflow >>> ( >>> http://stackoverflow.com/questions/15815862/apply-affine-transform-to-quiver-in-python-matplotlib >>> ) >>> but I've produced a simple enough example with strange results that I >>> think it merits attention here. I'm trying to apply affine transforms >>> to quiver and scatter plots. In all cases that I've considered, the >>> scatter and quiver plots transform opposite the regular plot. Here's >>> a minimal case: >>> >>> import matplotlib as mpl >>> from pylab import figure, subplot, plot, scatter, show, axis >>> >>> figure() >>> ax = subplot(111) >>> base_trans = ax.transData >>> tr = mpl.transforms.Affine2D(matrix = >>> array([[1,1,0],[0,1,0],[0,0,1]])) + base_trans >>> >>> >>> plot( [1,2,3], [1,2,3], 'k.', transform = tr ) >>> scatter( [1,2,3], [1,2,3], c = 'k', marker = 'D', transform = tr ) >>> axis([0,7,0,7]) >>> show() >>> >>> Thanks, >>> >>> Derek >>> >>> >>> ------------------------------------------------------------------------------ >>> Minimize network downtime and maximize team effectiveness. >>> Reduce network management and security costs.Learn how to hire >>> the most talented Cisco Certified professionals. Visit the >>> Employer Resources Portal >>> http://www.cisco.com/web/learning/employer_resources/index.html >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> >> > |
|
From: Derek T. <der...@gm...> - 2013-04-04 16:46:51
|
I get a different result. On Thu, Apr 4, 2013 at 9:25 AM, Phil Elson <pel...@gm...> wrote: > Hi Derek, > > What are we looking at here? > > The following code: > > import matplotlib.pyplot as plt > import matplotlib.transforms as mtrans > import numpy as np > > plt.figure() > ax = plt.subplot(111) > base_trans = ax.transData > mtx = np.array([[1,1,0], > [0,1,0], > [0,0,1]]) > tr = mtrans.Affine2D(matrix=mtx) + base_trans > > plt.plot([1,2,3], [1,2,3], 'gray', transform=tr) > plt.scatter([1,2,3], [1,2,3], c='k', marker='D', transform=tr) > plt.show() > > produces the following plot on v1.2.0: > [image: Inline images 1] > Is this unexpected or are you getting a different result to me? > > Regards, > > > > On 4 April 2013 17:06, Derek Thomas <der...@gm...> wrote: > >> I posted a related question on stackoverflow >> ( >> http://stackoverflow.com/questions/15815862/apply-affine-transform-to-quiver-in-python-matplotlib >> ) >> but I've produced a simple enough example with strange results that I >> think it merits attention here. I'm trying to apply affine transforms >> to quiver and scatter plots. In all cases that I've considered, the >> scatter and quiver plots transform opposite the regular plot. Here's >> a minimal case: >> >> import matplotlib as mpl >> from pylab import figure, subplot, plot, scatter, show, axis >> >> figure() >> ax = subplot(111) >> base_trans = ax.transData >> tr = mpl.transforms.Affine2D(matrix = >> array([[1,1,0],[0,1,0],[0,0,1]])) + base_trans >> >> >> plot( [1,2,3], [1,2,3], 'k.', transform = tr ) >> scatter( [1,2,3], [1,2,3], c = 'k', marker = 'D', transform = tr ) >> axis([0,7,0,7]) >> show() >> >> Thanks, >> >> Derek >> >> >> ------------------------------------------------------------------------------ >> Minimize network downtime and maximize team effectiveness. >> Reduce network management and security costs.Learn how to hire >> the most talented Cisco Certified professionals. Visit the >> Employer Resources Portal >> http://www.cisco.com/web/learning/employer_resources/index.html >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > |
|
From: Phil E. <pel...@gm...> - 2013-04-04 16:32:05
|
Hi Mark, Thanks for persevering :-) What is it you want to achieve? Is it that you just want the last day of each month as the located value? Changing your locator to: ax.xaxis.set_major_locator(MonthLocator(bymonthday = -1)) Seems to do the trick for me (I've never looked at the mpl date magic, so I can give no guarantees). HTH, On 4 April 2013 17:18, Mark Lawrence <bre...@ya...> wrote: > On 01/04/2013 14:48, Mark Lawrence wrote: > > On 29/03/2013 15:49, Mark Lawrence wrote: > >> Hi all, > >> > >> From http://labix.org/python-dateutil > >> > >> "To generate a rrule for the use case of "a date on the specified day of > >> the month, unless it is beyond the end of month, in which case it will > >> be the last day of the month" use the following: > >> > >> rrule(MONTHLY, bymonthday=(some_day, -1), bysetpos=1) > >> > >> This will generate a value for every calendar month regardless of the > >> day of the month it is started from." > >> > >> Using bymonthday with MonthLocator gives ticks on the day given and the > >> last day of the month, which looks extremely ugly. Code below > demonstrates. > >> > >> from dateutil.rrule import * > >> import datetime > >> import matplotlib.pyplot as plt > >> from matplotlib.ticker import FormatStrFormatter, MultipleLocator > >> from matplotlib.dates import DateFormatter, MonthLocator, DayLocator > >> > >> start = datetime.date(2013, 3, 29) > >> until = datetime.date(2014, 3, 29) > >> dates = rrule(MONTHLY, bymonthday=(29, -1), bysetpos=1, until=until) > >> for d in dates:print(d) > >> > >> dates = [start, until] > >> values = [0, 1] > >> plt.ylabel('Balance') > >> plt.grid() > >> ax = plt.subplot(111) > >> plt.plot_date(dates, values, fmt = 'rx-') > >> ax.xaxis.set_major_locator(MonthLocator(bymonthday = (dates[0].day, > -1))) > >> ax.xaxis.set_major_formatter(DateFormatter('%d/%m/%y')) > >> ax.yaxis.set_major_formatter(FormatStrFormatter('£%0.2f')) > >> ax.yaxis.set_minor_locator(MultipleLocator(5)) > >> plt.axis(xmin=dates[0], xmax=dates[-1]) > >> plt.setp(plt.gca().get_xticklabels(), rotation = 45, fontsize = 10) > >> plt.setp(plt.gca().get_yticklabels(), fontsize = 10) > >> plt.show() > >> > > > > Seems an apt date to realise that I didn't say much :( > > > > Assuming that I'm correct would you like an issue raised on the bug > > tracker? If not please correct the mistake I've made, presumably in > > reading the docs, which I think are excellent by the way. > > > > Anybody? > > -- > If you're using GoogleCrap™ please read this > http://wiki.python.org/moin/GoogleGroupsPython. > > Mark Lawrence > > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
|
From: Phil E. <pel...@gm...> - 2013-04-04 16:25:40
|
Hi Derek,
What are we looking at here?
The following code:
import matplotlib.pyplot as plt
import matplotlib.transforms as mtrans
import numpy as np
plt.figure()
ax = plt.subplot(111)
base_trans = ax.transData
mtx = np.array([[1,1,0],
[0,1,0],
[0,0,1]])
tr = mtrans.Affine2D(matrix=mtx) + base_trans
plt.plot([1,2,3], [1,2,3], 'gray', transform=tr)
plt.scatter([1,2,3], [1,2,3], c='k', marker='D', transform=tr)
plt.show()
produces the following plot on v1.2.0:
[image: Inline images 1]
Is this unexpected or are you getting a different result to me?
Regards,
On 4 April 2013 17:06, Derek Thomas <der...@gm...> wrote:
> I posted a related question on stackoverflow
> (
> http://stackoverflow.com/questions/15815862/apply-affine-transform-to-quiver-in-python-matplotlib
> )
> but I've produced a simple enough example with strange results that I
> think it merits attention here. I'm trying to apply affine transforms
> to quiver and scatter plots. In all cases that I've considered, the
> scatter and quiver plots transform opposite the regular plot. Here's
> a minimal case:
>
> import matplotlib as mpl
> from pylab import figure, subplot, plot, scatter, show, axis
>
> figure()
> ax = subplot(111)
> base_trans = ax.transData
> tr = mpl.transforms.Affine2D(matrix =
> array([[1,1,0],[0,1,0],[0,0,1]])) + base_trans
>
>
> plot( [1,2,3], [1,2,3], 'k.', transform = tr )
> scatter( [1,2,3], [1,2,3], c = 'k', marker = 'D', transform = tr )
> axis([0,7,0,7])
> show()
>
> Thanks,
>
> Derek
>
>
> ------------------------------------------------------------------------------
> Minimize network downtime and maximize team effectiveness.
> Reduce network management and security costs.Learn how to hire
> the most talented Cisco Certified professionals. Visit the
> Employer Resources Portal
> http://www.cisco.com/web/learning/employer_resources/index.html
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
|