You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1
(3) |
2
(9) |
3
(6) |
4
(2) |
5
(19) |
6
(7) |
7
(3) |
8
(5) |
9
(6) |
10
(13) |
11
(19) |
12
(16) |
13
(9) |
14
(17) |
15
(5) |
16
(12) |
17
(12) |
18
(5) |
19
(16) |
20
(10) |
21
(9) |
22
(3) |
23
(8) |
24
(5) |
25
(13) |
26
(11) |
27
(21) |
28
(9) |
29
(11) |
30
(6) |
31
(5) |
|
|
|
|
On Mon, Jul 16, 2012 at 6:06 PM, Tony Yu <ts...@gm...> wrote: > > > On Mon, Jul 16, 2012 at 3:07 PM, John Hunter <jd...@gm...> wrote: > >> >> >> On Tue, Jul 10, 2012 at 11:58 AM, Tony Yu <ts...@gm...> wrote: >> >>> Announcement: mpltools 0.1 >>> ========================== >>> >>> mpltools is a package of tools for matplotlib. For the most part, these >>> tools are only loosely-connected in functionality, but there are two that >>> may prove particularly useful: >>> >>> Styles and plot2rst >>> ------------------- >>> >>> >> Tony, is there a way to "switch" styles rather than chain them. Eg, if >> I do: >> >> import mpltools.style as style >> style.use('ieee.transaction') >> ...make_a_plot_... >> style.use('ggplot') >> . ..make_a_plot_... >> >> I seem to get the chained behavior of the second style updating the >> first. I'd like to use this in a demo context where I can illustrate the >> styles separately, so it would be nice to go back to the defaults. >> >> Interestingly, I tried to do: >> >> import matplotlib >> matplotlib.rc_file_defaults() >> plt.close('all') >> hist(rand(10000), 100) >> >> but that simply stopped figures from raising all together (I don't think >> this is related to mpltools, but to something funny going on on my system). >> >> So in summary, it would be nice to be able to do something like: >> >> style.use('default') >> >> or: >> >> style.reset() >> >> which would take you back to a clean slate. >> >> > I've been using plt.rcdefaults() for that purpose. Does that work for you? > > -Tony > Err, maybe I read your question wrong. Were you just suggesting that I wrap `matplotlib.rc_file_defaults()` in a new function called `style.reset()`, or were you suggesting a function that does something different than `rc_file_defaults`? -Tony
On Mon, Jul 16, 2012 at 3:07 PM, John Hunter <jd...@gm...> wrote: > > > On Tue, Jul 10, 2012 at 11:58 AM, Tony Yu <ts...@gm...> wrote: > >> Announcement: mpltools 0.1 >> ========================== >> >> mpltools is a package of tools for matplotlib. For the most part, these >> tools are only loosely-connected in functionality, but there are two that >> may prove particularly useful: >> >> Styles and plot2rst >> ------------------- >> >> > Tony, is there a way to "switch" styles rather than chain them. Eg, if I > do: > > import mpltools.style as style > style.use('ieee.transaction') > ...make_a_plot_... > style.use('ggplot') > . ..make_a_plot_... > > I seem to get the chained behavior of the second style updating the first. > I'd like to use this in a demo context where I can illustrate the styles > separately, so it would be nice to go back to the defaults. > > Interestingly, I tried to do: > > import matplotlib > matplotlib.rc_file_defaults() > plt.close('all') > hist(rand(10000), 100) > > but that simply stopped figures from raising all together (I don't think > this is related to mpltools, but to something funny going on on my system). > > So in summary, it would be nice to be able to do something like: > > style.use('default') > > or: > > style.reset() > > which would take you back to a clean slate. > > I've been using plt.rcdefaults() for that purpose. Does that work for you? -Tony
Thanks Josh this is much appreciated. I will definitely have a look at this approach. Just for clarification, my code does only create the figures when the frame is initialised. The plots are then updated/cleared as required. Regards, Keith ________________________________ From: Joshua Koehler [mailto:jjk...@gm...] Sent: Tuesday, 17 July 2012 12:12 a.m. To: mat...@li... Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize Yes, my apologies for being a bit vague. Hopefully the following can help you out, but I can't make promises. It did fix the issue for me. First off, from reading other threads about handling figures, it might be better to use matplotlib.pylab.figure instead of matplotlib.figure. Apparently the former registers the figure with a manager which allows for better cleanup. Second, it looks to me from your code as if you are creating a figure every time a new plot is created. Is this correct? Or are these functions just called on startup? If you are creating a new figure each time for a plot, (which is what I was originally doing) you should redesign so you keep the same figure and then just update the subplots. Clear the figure and then add the appropriate subplots. Here is a segment from my code: def plot(figure, rows, cols, graph, title): figure.clear() plt.figure(figure.number) pos_counter = 1 for g in graph: g.axes = figure.add_subplot(rows, cols, pos_counter) if title: g.axes.set_title(g.plot_title) plot_nx(g, plot_options=g.plot_options) pos_counter = pos_counter + 1 figure.canvas.draw() plt is the pylab module from matplotlib and plot_nx is an internal call to networkx plotting capabiility (same as if you called the pyplot.plot). If you do use pylab, make sure to include the plt.figure(figure.number) call as this seems to be a bug (or perhaps this just is with networkx integration). This setup works for me rather well. I no longer have to manually resize anything. I hope that helps. If not, I am at a loss for what would be a good way to proceed. I, probably like you, spent a long time trying to figure this one out and found this to be the best solution. It might be good to go with the clunky mechanism since it works and wait until this is addressed later (if it is indeed a bug) Regards, Josh On Jul 14, 2012, at 4:13 AM, Keith Jones wrote: Hi Josh, I am not quite sure what information you need, but I have an application with several wx notebooks, each with pages carrying related but different 2D and 3D plots. I hope this overview covers what you want. In the code below I set up the axes and toolbar in each panel ready to accept plots as required. I use wxFormbuilder to create MyFrame1 and then this code to add graphs and other functionality. The 'tickle' function is called when a notebook is selected for display. import wx from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg from matplotlib.figure import Figure from mpl_toolkits.mplot3d import Axes3D class ProjectFrame(bare_gui.MyFrame1): def __init__( self, parent): bare_gui.MyFrame1.__init__( self, parent) ... self.Create2DGraph(self.CT_graph_1, "Current / %")#CT notebook self.Create2DGraph(self.VT_graph_1, "Voltage/ %")#VT notebook ... self.Show(True) def Create2DGraph(self, panel, xlabel): panel.figure = Figure(None) panel.canvas = FigureCanvas(panel, -1, panel.figure) panel.axes1 = panel.figure.add_subplot(2,1,1) panel.axes2 = panel.figure.add_subplot(2,1,2) panel.axes1.set_xlabel(xlabel) panel.axes1.set_ylabel('Error / %') panel.axes2.set_xlabel(xlabel) panel.axes2.set_ylabel('Phase / crad') panel.sizer = wx.BoxSizer(wx.VERTICAL) panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) panel.SetSizer(panel.sizer) panel.Fit() self.add_2Dtoolbar(panel) def add_2Dtoolbar(self, panel): panel.toolbar = NavigationToolbar2WxAgg(panel.canvas) panel.toolbar.Realize() tw, th = panel.toolbar.GetSizeTuple() fw, fh = panel.canvas.GetSizeTuple() panel.toolbar.SetSize(wx.Size(fw, th)) panel.sizer.Add(panel.toolbar, 0, wx.LEFT | wx.EXPAND) # update the axes menu on the toolbar panel.toolbar.update() def Create3DGraph(self, panel): panel.figure = Figure(None) panel.canvas = FigureCanvas(panel, -1, panel.figure) panel.ax = Axes3D(panel.figure) #these labels should be selected later for specific components panel.ax.set_xlabel('Current / %') panel.ax.set_ylabel('Phase / degree') panel.ax.set_zlabel('Error / %') panel.sizer = wx.BoxSizer(wx.VERTICAL) panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) panel.SetSizer(panel.sizer) panel.Fit() self.add_2Dtoolbar(panel) ________________________________ From: Joshua Koehler [jjk...@gm...] Sent: Friday, 13 July 2012 10:45 p.m. To: mat...@li...<mailto:mat...@li...> Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize Hi Keith, How are you storing the plot in the frame/panel? Josh On Jul 12, 2012, at 11:59 PM, Keith Jones wrote: Hi Josh, Yes I too am using the wx backend. Regards, Keith ________________________________ From: Tony Yu [mailto:ts...@gm...] Sent: Friday, 13 July 2012 3:16 p.m. To: Keith Jones Cc: Joshua Koehler; mat...@li...<mailto:mat...@li...> Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize On Thu, Jul 12, 2012 at 9:27 PM, Keith Jones <K....@ir...<mailto:K....@ir...>> wrote: Hi, I am interested in a better solution to this problem, but I have used this simple method to force the right size. def tickle(self): #gets frame to redraw and resize, not elegant. if self.IsMaximized(): #then needs a kick self.Restore() self.Maximize() else: x,y = self.GetSize() self.SetSize((x-1, y-1)) self.SetSize((x, y)) Regards, Keith ________________________________ From: Joshua Koehler [mailto:jjk...@gm...<mailto:jjk...@gm...>] Sent: Saturday, 7 July 2012 1:51 a.m. To: mat...@li...<mailto:mat...@li...> Subject: [Matplotlib-users] wxpython matplotlib figure resize Hi all, I am currently trying to use matplotlib with wxPython and all is going well except for one annoying issue that I can't figure out. I initialize a wxcanvas object with a figure and then throughout the life of the program I want the canvas' figure to change and display the corresponding plot. I can get the change of figure, but when the program goes to plot, the figure isn't the right size. It changes to the right size only when I manually resize the figure (see attached images). Is there some command that I am missing? This is the update sequence I am using: self.figure = figure self.canvas.figure.clear() self.canvas.figure = self.figure self.canvas.draw() self.color_background() #self.GetParent().Layout() #self.SetSizer(self.main_sizer) #self.Fit() self.SendSizeEvent() As you can tell from the comments (there are more in my code), I have tried a variety of ways to update the figure off the bat. Thanks! Josh This may be similar to a Qt-backend bug, which didn't take the toolbar into account when resizing the figure: https://github.com/matplotlib/matplotlib/pull/756 It doesn't quite fit, though, because Josh's original example shows a figure that's the correct size (but the axes doesn't fill the figure). The toolbar issue tended to squish the axes in the vertical direction (at least in the GUI window), whereas Josh's example is squished in the horizontal direction. Keith: Are you also using the Wx-backend? I don't have Wx installed so I can't provide much help. I've been planning to take a look at a similar issue in the Tk backend, but haven't had time. Best, -Tony ________________________________ This electronic transmission and any documents accompanying this electronic transmission contain confidential information belonging to the sender. This information may be legally privileged. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on or regarding the contents of this electronically transmitted information is strictly prohibited.
Hello, I am trying to install basemap from debian packages, but I am not able to have it run properly. Here are my tests: import matplotlib as mpl import mpl_toolkits.basemap as bm import numpy as np print "GEOS version: ", bm._geoslib.__geos_version__ print "basemap version: ", bm.__version__ print "numpy version: ", np.__version__ print "matplotlib version: ", mpl.__version__ map = bm.Basemap(projection='ortho', lat_0 = 50, lon_0 = -100, resolution = 'l', area_thresh = 1000.) map.drawcountries() map.fillcontinents(color = 'coral') map.drawmapboundary() map.drawmeridians(np.arange(0, 360, 30)) map.drawparallels(np.arange(-90, 90, 30)) plt.show() gives: /usr/lib/pymodules/python2.7/mpl_toolkits/__init__.py:2: UserWarning: Module dap was already imported from None, but /usr/lib/python2.7/dist-packages is being added to sys.path __import__('pkg_resources').declare_namespace(__name__) GEOS version: 3.3.1-CAPI-1.7.1 basemap version: 1.0.2 numpy version: 1.5.1 matplotlib version: 1.1.0 GEOS_ERROR: TopologyException: found non-noded intersection between LINESTRING (170.007 -0.00578472, 170.021 -0.0173561) and LINESTRING (349.986 -0.0115701, -10 0) at 170.007 -0.00578549 Erreur de segmentation Thanks for your help, Lazlo <<<
On Tue, Jul 10, 2012 at 11:58 AM, Tony Yu <ts...@gm...> wrote: > Announcement: mpltools 0.1 > ========================== > > mpltools is a package of tools for matplotlib. For the most part, these > tools are only loosely-connected in functionality, but there are two that > may prove particularly useful: > > Styles and plot2rst > ------------------- > > Tony, is there a way to "switch" styles rather than chain them. Eg, if I do: import mpltools.style as style style.use('ieee.transaction') ...make_a_plot_... style.use('ggplot') . ..make_a_plot_... I seem to get the chained behavior of the second style updating the first. I'd like to use this in a demo context where I can illustrate the styles separately, so it would be nice to go back to the defaults. Interestingly, I tried to do: import matplotlib matplotlib.rc_file_defaults() plt.close('all') hist(rand(10000), 100) but that simply stopped figures from raising all together (I don't think this is related to mpltools, but to something funny going on on my system). So in summary, it would be nice to be able to do something like: style.use('default') or: style.reset() which would take you back to a clean slate.
Here is a quick example that might help you: http://www.loria.fr/~rougier/coding/gallery/showcase/showcase-10-large.png http://www.loria.fr/~rougier/coding/gallery/showcase/showcase-10.py Nicolas On Jul 16, 2012, at 11:27 , Daπid wrote: > On Mon, Jul 16, 2012 at 11:09 AM, Benjamin Jonen <bj...@gm...> wrote: >> 2) The coloring and the way the lines curve around looks very nice to >> me. I remember that the Excel charts did not have this nice look >> before Excel 2007. Can I achieve similar effects with matplotlib? I'm >> not really sure what creates this nice look, so this question is of >> course a little fuzzy. > > Maybe you are thinking about the smoothness of the curves. Even you > have spaced points, they don't do sharp edges. In my opinion, for > scientific research, they shouldn't be concealed in the general case, > and this is, I think, the main target of MPL. > > Nevertheless, if in your case it makes sense and you want them to be > smooth, you can do it through SciPy, applying a interpolation scheme. > > tck=scipy.interpolate(datax, datay) > datax_n=np.arange(datax.min(), datax.max(), len(datax)*20) > datay_n=sicpy.interpolate(splev(datax_n,tck,der=0) > > And then you plot datax_n and datay_n. > > http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html#spline-interpolation-in-1-d-procedural-interpolate-splxxx > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Yes, my apologies for being a bit vague. Hopefully the following can help you out, but I can't make promises. It did fix the issue for me. First off, from reading other threads about handling figures, it might be better to use matplotlib.pylab.figure instead of matplotlib.figure. Apparently the former registers the figure with a manager which allows for better cleanup. Second, it looks to me from your code as if you are creating a figure every time a new plot is created. Is this correct? Or are these functions just called on startup? If you are creating a new figure each time for a plot, (which is what I was originally doing) you should redesign so you keep the same figure and then just update the subplots. Clear the figure and then add the appropriate subplots. Here is a segment from my code: def plot(figure, rows, cols, graph, title): figure.clear() plt.figure(figure.number) pos_counter = 1 for g in graph: g.axes = figure.add_subplot(rows, cols, pos_counter) if title: g.axes.set_title(g.plot_title) plot_nx(g, plot_options=g.plot_options) pos_counter = pos_counter + 1 figure.canvas.draw() plt is the pylab module from matplotlib and plot_nx is an internal call to networkx plotting capabiility (same as if you called the pyplot.plot). If you do use pylab, make sure to include the plt.figure(figure.number) call as this seems to be a bug (or perhaps this just is with networkx integration). This setup works for me rather well. I no longer have to manually resize anything. I hope that helps. If not, I am at a loss for what would be a good way to proceed. I, probably like you, spent a long time trying to figure this one out and found this to be the best solution. It might be good to go with the clunky mechanism since it works and wait until this is addressed later (if it is indeed a bug) Regards, Josh On Jul 14, 2012, at 4:13 AM, Keith Jones wrote: > Hi Josh, > I am not quite sure what information you need, but I have an application with several wx notebooks, each with pages carrying related but different 2D and 3D plots. I hope this overview covers what you want. In the code below I set up the axes and toolbar in each panel ready to accept plots as required. I use wxFormbuilder to create MyFrame1 and then this code to add graphs and other functionality. The 'tickle' function is called when a notebook is selected for display. > > import wx > from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas > from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg > from matplotlib.figure import Figure > from mpl_toolkits.mplot3d import Axes3D > > class ProjectFrame(bare_gui.MyFrame1): > def __init__( self, parent): > bare_gui.MyFrame1.__init__( self, parent) > ... > self.Create2DGraph(self.CT_graph_1, "Current / %")#CT notebook > self.Create2DGraph(self.VT_graph_1, "Voltage/ %")#VT notebook > ... > self.Show(True) > > def Create2DGraph(self, panel, xlabel): > panel.figure = Figure(None) > panel.canvas = FigureCanvas(panel, -1, panel.figure) > panel.axes1 = panel.figure.add_subplot(2,1,1) > panel.axes2 = panel.figure.add_subplot(2,1,2) > panel.axes1.set_xlabel(xlabel) > panel.axes1.set_ylabel('Error / %') > panel.axes2.set_xlabel(xlabel) > panel.axes2.set_ylabel('Phase / crad') > panel.sizer = wx.BoxSizer(wx.VERTICAL) > panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) > panel.SetSizer(panel.sizer) > panel.Fit() > self.add_2Dtoolbar(panel) > > def add_2Dtoolbar(self, panel): > panel.toolbar = NavigationToolbar2WxAgg(panel.canvas) > panel.toolbar.Realize() > tw, th = panel.toolbar.GetSizeTuple() > fw, fh = panel.canvas.GetSizeTuple() > panel.toolbar.SetSize(wx.Size(fw, th)) > panel.sizer.Add(panel.toolbar, 0, wx.LEFT | wx.EXPAND) > # update the axes menu on the toolbar > panel.toolbar.update() > > def Create3DGraph(self, panel): > panel.figure = Figure(None) > panel.canvas = FigureCanvas(panel, -1, panel.figure) > panel.ax = Axes3D(panel.figure) > #these labels should be selected later for specific components > panel.ax.set_xlabel('Current / %') > panel.ax.set_ylabel('Phase / degree') > panel.ax.set_zlabel('Error / %') > panel.sizer = wx.BoxSizer(wx.VERTICAL) > panel.sizer.Add(panel.canvas, 1, wx.LEFT | wx.TOP | wx.GROW) > panel.SetSizer(panel.sizer) > panel.Fit() > self.add_2Dtoolbar(panel) > From: Joshua Koehler [jjk...@gm...] > Sent: Friday, 13 July 2012 10:45 p.m. > To: mat...@li... > Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize > > Hi Keith, > > How are you storing the plot in the frame/panel? > > Josh > On Jul 12, 2012, at 11:59 PM, Keith Jones wrote: > >> Hi Josh, >> Yes I too am using the wx backend. >> >> Regards, >> Keith >> >> From: Tony Yu [mailto:ts...@gm...] >> Sent: Friday, 13 July 2012 3:16 p.m. >> To: Keith Jones >> Cc: Joshua Koehler; mat...@li... >> Subject: Re: [Matplotlib-users] wxpython matplotlib figure resize >> >> >> On Thu, Jul 12, 2012 at 9:27 PM, Keith Jones <K....@ir...> wrote: >> Hi, >> I am interested in a better solution to this problem, but I have used this simple method to force the right size. >> >> def tickle(self): >> #gets frame to redraw and resize, not elegant. >> if self.IsMaximized(): #then needs a kick >> self.Restore() >> self.Maximize() >> else: >> x,y = self.GetSize() >> self.SetSize((x-1, y-1)) >> self.SetSize((x, y)) >> >> Regards, >> Keith >> >> From: Joshua Koehler [mailto:jjk...@gm...] >> Sent: Saturday, 7 July 2012 1:51 a.m. >> To: mat...@li... >> Subject: [Matplotlib-users] wxpython matplotlib figure resize >> >> Hi all, >> >> I am currently trying to use matplotlib with wxPython and all is going well except for one annoying issue that I can't figure out. >> >> I initialize a wxcanvas object with a figure and then throughout the life of the program I want the canvas' figure to change and display the corresponding plot. I can get the change of figure, but when the program goes to plot, the figure isn't the right size. It changes to the right size only when I manually resize the figure (see attached images). Is there some command that I am missing? This is the update sequence I am using: >> >> self.figure = figure >> >> self.canvas.figure.clear() >> self.canvas.figure = self.figure >> self.canvas.draw() >> self.color_background() >> >> #self.GetParent().Layout() >> #self.SetSizer(self.main_sizer) >> #self.Fit() >> self.SendSizeEvent() >> >> As you can tell from the comments (there are more in my code), I have tried a variety of ways to update the figure off the bat. >> >> Thanks! >> >> Josh >> >> >> This may be similar to a Qt-backend bug, which didn't take the toolbar into account when resizing the figure: >> https://github.com/matplotlib/matplotlib/pull/756 >> It doesn't quite fit, though, because Josh's original example shows a figure that's the correct size (but the axes doesn't fill the figure). The toolbar issue tended to squish the axes in the vertical direction (at least in the GUI window), whereas Josh's example is squished in the horizontal direction. >> >> Keith: Are you also using the Wx-backend? I don't have Wx installed so I can't provide much help. I've been planning to take a look at a similar issue in the Tk backend, but haven't had time. >> >> Best, >> -Tony >> >> >> >> >> This electronic transmission and any documents accompanying this electronic transmission contain confidential information belonging to the sender. This information may be legally privileged. The information is intended only for the use of the individual or entity named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on or regarding the contents of this electronically transmitted information is strictly prohibited. > >
> Hi all, > > I've to draw a plot in a very small area (about 1 degree of height/width) > with > a map image. > I've tried with the warpimage method and with the Nasa visible Earth > images > (http://visibleearth.nasa.gov/view_cat.php?categoryID=1484), but I've some > problems: > - with the resolution 21600x10800 the image is still too bad > - with the resolution 21600x21600 the image is distributed in panels and > warpimage method required a whole world image > > Merging the 6 panels maybe it can works, but I think my laptop can't > process a > so big image. > > Any suggestion for cutting the image area before passing it to Basemap? > Or another kind of images to use? > > Thank you very much, > I recommend using GDAL (http://gdal.org/) for geospatial stuff. There's Python bindings, but it'd be easier to just select the area you need from the input file (using gdal_translate or gdalwarp), and then load the newly created file for Basemap processing. A.
Hi all, I've to draw a plot in a very small area (about 1 degree of height/width) with a map image. I've tried with the warpimage method and with the Nasa visible Earth images (http://visibleearth.nasa.gov/view_cat.php?categoryID=1484), but I've some problems: - with the resolution 21600x10800 the image is still too bad - with the resolution 21600x21600 the image is distributed in panels and warpimage method required a whole world image Merging the 6 panels maybe it can works, but I think my laptop can't process a so big image. Any suggestion for cutting the image area before passing it to Basemap? Or another kind of images to use? Thank you very much, -- | Francesco Benincasa
2012年6月20日 Michael Droettboom <md...@st...>: > The postscript output of the Cairo backend supports transparency > emulation, though it hasn't been tested in some time. Eric's suggestion > (to output PDF and then convert to EPS) is also a reasonable one. > > Mike > > On 06/20/2012 10:38 AM, Francesco Montesano wrote: >> Dear list, >> >> it might be that this is not the best place to ask, but I guess that >> there are enough people with experience with colors. >> >> I think plots with nice colors and shaded areas are very nice, but for >> my publication I have to use eps files, that do not support >> transparency. >> The script below produce a figure like the one that I would like to >> make. If I save it as eps all the shaded areas are not transparent and >> the plot look ugly and unreadable. >> >> A way to emulate transparency that I've applied some time ago was to >> get the RGB value of the transparent color (with DigitalColor Meter on >> Mac) and to insert it by hand in fill_between, with a low value for >> the zorder option. The results was fine, but I don't like too much >> this approach, as any change in color or alpha value would require to >> go, get the new color, insert it and redo the figure. >> >> Is anyone aware of a way to obtain automatically a RGB color that on >> screen or printed looks similar to the corresponding RGBA? >> >> Thanks in advance, >> Francesco >> >> ********Sample code********* >> >> "plot with errors done with fill_between. Emulation of alpha in eps" >> >> import itertools as it >> import matplotlib.pyplot as plt >> import numpy as np >> >> col = it.cycle([ 'm', 'r', 'g', 'b', 'c', 'y', 'k', ]) >> ls = it.cycle( [ '-', '--', '-.', ':' ][::-1]) >> >> #figure >> fig = plt.figure() >> ax = fig.add_subplot(111) >> >> x= np.linspace(0.5,5,100) >> for i in range(3): >> c = col.next() >> l = ls.next() >> ax.plot( x, np.sin(x)**i, color=c, ls=l, >> label='$sin^{0}(x)$'.format(i), zorder=10+i ) >> ax.fill_between( x, np.sin(x)**i + 1./x, np.sin(x)**i - 1./x, >> color=c, linestyle=l, alpha=0.5, zorder=i+1) >> >> ax.legend(frameon=False) >> >> plt.savefig("test_alpha.pdf") >> plt.savefig("test_alpha.eps") >> plt.show() >> >> exit() >> ********End sample code********* >> Hi, I was doing again some search on the topic when I realised that I just replied to Eric. This is my reply (Eric sorry for sending this mail twice to you) I remember trying to convert pdf to eps in different ways with usually ugly results and/or very large files. Now I've tried the following commands on test_alpha.pdf (from http://tex.stackexchange.com/questions/20883/how-to-convert-pdf-to-eps): i) pdf2ps -eps test_alpha.pdf test_alpha.conv.eps ii) gs -q -dNOCACHE -dNOPAUSE -dBATCH -dSAFER -sDEVICE=epswrite -sOutputFile=test_alpha.gs.eps test_alpha.pdf the results are: 39K 2012年06月19日 17:37 test_alpha.eps (original eps: no transparency) 23K 2012年06月19日 17:37 test_alpha.pdf (original pdf: transparency) 90M 2012年06月20日 20:20 test_alpha.gs.eps (converted with gs: transparency) 613K 2012年06月20日 20:14 test_alpha.pdf2ps.eps (converted with pdf2ps: transparency [from my understanding it uses gs]) In both the converted cases the texts (tick labels, legend) are badly rendered. The lines and contours of the filled areas look noisier than in the original pdf. It might be that increasing the resolution the situation improves, but the file size increases, which is not an option. Michael, I've tried Cairo (import matplotlib as mpl; mpl.use("Cairo") before importing pyplot), but the eps is not transparent. Cheers, Francesco
On Mon, Jul 16, 2012 at 11:09 AM, Benjamin Jonen <bj...@gm...> wrote: > 2) The coloring and the way the lines curve around looks very nice to > me. I remember that the Excel charts did not have this nice look > before Excel 2007. Can I achieve similar effects with matplotlib? I'm > not really sure what creates this nice look, so this question is of > course a little fuzzy. Maybe you are thinking about the smoothness of the curves. Even you have spaced points, they don't do sharp edges. In my opinion, for scientific research, they shouldn't be concealed in the general case, and this is, I think, the main target of MPL. Nevertheless, if in your case it makes sense and you want them to be smooth, you can do it through SciPy, applying a interpolation scheme. tck=scipy.interpolate(datax, datay) datax_n=np.arange(datax.min(), datax.max(), len(datax)*20) datay_n=sicpy.interpolate(splev(datax_n,tck,der=0) And then you plot datax_n and datay_n. http://docs.scipy.org/doc/scipy/reference/tutorial/interpolate.html#spline-interpolation-in-1-d-procedural-interpolate-splxxx
Hey everybody, Before I made the change to matplotlib I used to do my charts in MS Excel 2007. I have been using matplotlib for a while now but haven't been able to replicate my graphs in the same beauty (for an example see the attachment). 1) Can I generate additional line styles beyond [ ‘-‘ | ‘–’ | ‘-.’ | ‘:’ | ‘steps’ | ...]? For example the empty line for value 9 in the chart would be very nice to have. 2) The coloring and the way the lines curve around looks very nice to me. I remember that the Excel charts did not have this nice look before Excel 2007. Can I achieve similar effects with matplotlib? I'm not really sure what creates this nice look, so this question is of course a little fuzzy. These questions are not meant as a criticism. I enjoy using matplotlib and I am very grateful this amazing tool has been developed. The latex integration is a clear advantage over excel. If matplotlib becomes equal or better in look to excel charts the incentives for excel users to convert will be even stronger. Thanks for any answers/thoughts, Benjamin