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
(16) |
2
(8) |
3
(4) |
4
|
5
|
6
(3) |
7
(11) |
8
(16) |
9
(1) |
10
(2) |
11
(2) |
12
(6) |
13
(2) |
14
(4) |
15
(5) |
16
(10) |
17
(5) |
18
|
19
|
20
|
21
(3) |
22
|
23
(12) |
24
(7) |
25
(1) |
26
|
27
(3) |
28
(4) |
29
(5) |
30
(2) |
|
|
From: Jody K. <jk...@uv...> - 2015-04-08 21:15:12
|
Hi Eric, >> import matplotlib.pyplot as plt >> fig, axes = plt.subplots(nrows=2,sharex=True) >> axes[0].set_aspect(1.) >> axes[0].plot(np.arange(10),np.arange(10)) >> axes[0].set_ylim([0,24]) >> axes[0].set_xlim([0,12]) >> axes[1].plot(np.arange(10),np.arange(10)*2.) >> plt.show() >> >> does not work as I'd expect. axes[0]'s ylim gets changed so that the line is no longer viewable (= 10-14). In my opinion, the two calls should work the same, except in the second case, axes[1]'s xlim should be 0-12. >> > > If you leave out the set_ylim call, it works. Given that you have specified set_ylim[0, 24], how is mpl supposed to know what ylim range you really want, when the axis constraint means it can only plot a small part of the specified range? It doesn't for me: import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2,sharex=True) axes[0].set_aspect(1.) axes[0].plot(np.arange(10),np.arange(10)) axes[1].plot(np.arange(10),np.arange(10)*2.) plt.show() still curtails the y limit in axes[0], in my case from ~2.9 to ~6.1 (see attached). > Basically, you have set up conflicting constraints, and mpl failed to resolve the conflict the way you think it should have. Maybe that could be improved, but I warn you, it's a tricky business. Squeeze in one place and things pop out somewhere else. I'm not clear what the conflicting constraints are. There seems to be an unspoken one that sharex=True means the physical size of the axes must be the same. That constraint doesn't exist if sharex=False, and set_aspect() works as expected. I'm questioning the unspoken constraint, and questioning why set_aspect() (or looking at the code apply_aspect()) needs to know about shared axes at all. No doubt there is a use case I'm missing... I *can* see the issue if we think setting aspect ratios should *not* change the size of the axes, because changing the aspect ratio changes the data limits and then you have a problem checking all the shared axes to see which one has the largest data limits. Its particularly problematic because I think that apply_aspect() is only called at draw()-time. That seems a hard problem, but I'm not sure what the use case is for it, so I have trouble wrapping my head around it. Thanks, Jody -- Jody Klymak http://web.uvic.ca/~jklymak/ |
From: Eric F. <ef...@ha...> - 2015-04-08 19:32:24
|
On 2015/04/08 8:43 AM, Jody Klymak wrote: > Hi Eric, > >> On 8 Apr 2015, at 11:02 AM, Eric Firing <ef...@ha...> wrote: >> >> I'm the guilty party for most of how set_aspect works. I developed it a >> long time ago. Yes, there was a reason--still is, I'm 99% sure--but I >> don't remember everything, and don't want to take the time now to >> reconstruct the whole rationale. When I was developing the behavior, I >> was paying a lot of attention to what happens under various scenarios of >> resizing and reshaping the window, and turning options on and off. >> There are some basic conflicts that arise when shared axes are combined >> with fixed aspect ratios, autoscaling, and gui-driven reshaping. >> Sometimes 'box-forced' does what people want, maybe more often than not; >> but I'm pretty sure it can lead to trouble, which is the reason it is >> not the default. > > OK, first my apologies: > > import matplotlib.pyplot as plt > fig, axes = plt.subplots(nrows=2) > axes[0].set_aspect(1.) > axes[0].plot(np.arange(10),np.arange(10)) > axes[0].set_ylim([0,24]) > axes[0].set_xlim([0,12]) > axes[1].plot(np.arange(10),np.arange(10)*2.) > plt.show() > > Works as I'd expect. axes[0] gets shrunk in the x dimension to make the aspect ratio 1. > > However: > > import matplotlib.pyplot as plt > fig, axes = plt.subplots(nrows=2,sharex=True) > axes[0].set_aspect(1.) > axes[0].plot(np.arange(10),np.arange(10)) > axes[0].set_ylim([0,24]) > axes[0].set_xlim([0,12]) > axes[1].plot(np.arange(10),np.arange(10)*2.) > plt.show() > > does not work as I'd expect. axes[0]'s ylim gets changed so that the line is no longer viewable (= 10-14). In my opinion, the two calls should work the same, except in the second case, axes[1]'s xlim should be 0-12. > If you leave out the set_ylim call, it works. Given that you have specified set_ylim[0, 24], how is mpl supposed to know what ylim range you really want, when the axis constraint means it can only plot a small part of the specified range? Basically, you have set up conflicting constraints, and mpl failed to resolve the conflict the way you think it should have. Maybe that could be improved, but I warn you, it's a tricky business. Squeeze in one place and things pop out somewhere else. Eric > Even worse, if I use the same aspect ratio in axes[1], they *both* do not show all the data: > > axes[0].set_aspect(1.) > > It appears here that with sharex=True the shape of the axis no longer becomes mutable when set_aspect() is used, whereas if sharex=False set_aspect() can change the axis shape. I don't see any reason for sharex to foist this behaviour onto set_aspect(). > > I guess the workaround is don't use sharex=True, but I actually think this is a bug. > > Thanks, Jody > > -- > Jody Klymak > http://web.uvic.ca/~jklymak/ > > > > > |
From: Jody K. <jk...@uv...> - 2015-04-08 18:43:38
|
Hi Eric, > On 8 Apr 2015, at 11:02 AM, Eric Firing <ef...@ha...> wrote: > > I'm the guilty party for most of how set_aspect works. I developed it a > long time ago. Yes, there was a reason--still is, I'm 99% sure--but I > don't remember everything, and don't want to take the time now to > reconstruct the whole rationale. When I was developing the behavior, I > was paying a lot of attention to what happens under various scenarios of > resizing and reshaping the window, and turning options on and off. > There are some basic conflicts that arise when shared axes are combined > with fixed aspect ratios, autoscaling, and gui-driven reshaping. > Sometimes 'box-forced' does what people want, maybe more often than not; > but I'm pretty sure it can lead to trouble, which is the reason it is > not the default. OK, first my apologies: import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2) axes[0].set_aspect(1.) axes[0].plot(np.arange(10),np.arange(10)) axes[0].set_ylim([0,24]) axes[0].set_xlim([0,12]) axes[1].plot(np.arange(10),np.arange(10)*2.) plt.show() Works as I'd expect. axes[0] gets shrunk in the x dimension to make the aspect ratio 1. However: import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2,sharex=True) axes[0].set_aspect(1.) axes[0].plot(np.arange(10),np.arange(10)) axes[0].set_ylim([0,24]) axes[0].set_xlim([0,12]) axes[1].plot(np.arange(10),np.arange(10)*2.) plt.show() does not work as I'd expect. axes[0]'s ylim gets changed so that the line is no longer viewable (= 10-14). In my opinion, the two calls should work the same, except in the second case, axes[1]'s xlim should be 0-12. Even worse, if I use the same aspect ratio in axes[1], they *both* do not show all the data: axes[0].set_aspect(1.) It appears here that with sharex=True the shape of the axis no longer becomes mutable when set_aspect() is used, whereas if sharex=False set_aspect() can change the axis shape. I don't see any reason for sharex to foist this behaviour onto set_aspect(). I guess the workaround is don't use sharex=True, but I actually think this is a bug. Thanks, Jody -- Jody Klymak http://web.uvic.ca/~jklymak/ |
From: Eric F. <ef...@ha...> - 2015-04-08 18:05:13
|
On 2015/04/08 7:04 AM, Jody Klymak wrote: > Maybe there is a reason for the default, but I really think the data > view should be prioritized over the shape of the axis. I forgot to include: I was trying to make everything sane (and reversible) under zoom and pan as well as reshaping and resizing. |
From: Eric F. <ef...@ha...> - 2015-04-08 18:02:53
|
On 2015/04/08 7:04 AM, Jody Klymak wrote: > Following up on this, I’d like to complain about set_aspect()… > > If I do: > > import matplotlib.pyplot as plt > fig, axes = plt.subplots(nrows=2,sharex=True) > axes[0].set_ylim(0,1.) > axes[0].set_aspect(1.) > plt.show() > > the x-axis goes from 0. to 1., but axes[0]’s y-axis goes from 0.32 to > 0.67. Swapping the order of the y_lim call doesn’t help. This is very > un-intuitive, as I’d expect set_ylim() to set what data I see no matter > what else is happening w/ the plot. > > I see that > axes[0].set_aspect(1.,adjustable=‘box-forced’) > will give the desired behaviour, but I really think it should be the > default, not adjustable=‘datalim'. I had no idea set_aspect() had this > parameter until today, and have had several cursing matches with > set_aspect as it kept changing my explicitly set data limits. set_ylim() > should set the y limits. > > Just my opinion. Maybe there is a reason for the default, but I really > think the data view should be prioritized over the shape of the axis. Jody, I'm the guilty party for most of how set_aspect works. I developed it a long time ago. Yes, there was a reason--still is, I'm 99% sure--but I don't remember everything, and don't want to take the time now to reconstruct the whole rationale. When I was developing the behavior, I was paying a lot of attention to what happens under various scenarios of resizing and reshaping the window, and turning options on and off. There are some basic conflicts that arise when shared axes are combined with fixed aspect ratios, autoscaling, and gui-driven reshaping. Sometimes 'box-forced' does what people want, maybe more often than not; but I'm pretty sure it can lead to trouble, which is the reason it is not the default. Eric > > Thanks, Jody > |
From: Jody K. <jk...@uv...> - 2015-04-08 17:05:06
|
Following up on this, I’d like to complain about set_aspect()… If I do: import matplotlib.pyplot as plt fig, axes = plt.subplots(nrows=2,sharex=True) axes[0].set_ylim(0,1.) axes[0].set_aspect(1.) plt.show() the x-axis goes from 0. to 1., but axes[0]’s y-axis goes from 0.32 to 0.67. Swapping the order of the y_lim call doesn’t help. This is very un-intuitive, as I’d expect set_ylim() to set what data I see no matter what else is happening w/ the plot. I see that axes[0].set_aspect(1.,adjustable=‘box-forced’) will give the desired behaviour, but I really think it should be the default, not adjustable=‘datalim'. I had no idea set_aspect() had this parameter until today, and have had several cursing matches with set_aspect as it kept changing my explicitly set data limits. set_ylim() should set the y limits. Just my opinion. Maybe there is a reason for the default, but I really think the data view should be prioritized over the shape of the axis. Thanks, Jody > On 8 Apr 2015, at 5:53 AM, Thomas Caswell <tca...@gm...> wrote: > > What version had this behavior? I recall some work on how aspect worked, but not exactly what we did. I see why it is useful, but on the other hand that sort of coupling seems like could cause some trouble if we are not careful. This all come back to we need a real layout manager/constraint solver (which no one has yet had time to address). > > For now I think this will do what you want: > > import numpy as np > import matplotlib.pyplot as plt > from mpl_toolkits.axes_grid1 import make_axes_locatable > > fig, ax_top = plt.subplots() > ax_top.set_aspect(1) > divider = make_axes_locatable(ax_top) > bax_bottom = divider.append_axes('bottom', 1, pad=0.1, > sharex=ax_top) > > > Please don't use `plt.setp`, it is a MATLABism that I think is past it's time. > > On Wed, Apr 8, 2015 at 8:21 AM Mark Bakker <ma...@gm... <mailto:ma...@gm...>> wrote: > import matplotlib.pyplot as plt > %matplotlib qt > fig, axes = plt.subplots(nrows=2,sharex=True) > plt.setp(axes[0], aspect=1.0, adjustable='box-forced') > plt.show() > > This used to create two axes of the same horizontal size. What it does now is that it scales the upper axis so that the aspect=1.0 by changing the physical size of the axis. But the physical size of the lower axis is not changed, while this used to be the case in the past (but that may have been a few years back). That sure used to be the desired behavior. > > Thanks for your help, > > Mark > > > > On Wed, Apr 8, 2015 at 2:16 PM, Thomas Caswell <tca...@gm... <mailto:tca...@gm...>> wrote: > Can you please provide a minimal, but complete and runnable example of what you are doing? > > > On Wed, Apr 8, 2015, 08:13 Mark Bakker <ma...@gm... <mailto:ma...@gm...>> wrote: > Thanks, Thomas. > > That works indeed, but it doesn't make the figure adjustable, which is what I wanted (that the physical size of the axes changes while the aspect ratio is fixed to 1). I guess that functionality has been taken out. > > Mark > > On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm... <mailto:tca...@gm...>> wrote: > What are the data limits you are using? > > I suspect they you are over constraining the system/order of operations issue. Try dropping the adjustable setting and pre setting both the data limits and the approximate size in figure fraction (ex via grid spec) of the axes. > > Tom > > > On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm... <mailto:ma...@gm...>> wrote: > Hello list, > > I want to axes above each other. They share the x-axis. The top figure has 'aspect=1' (it is a map), the bottom figure shows a cross-section along a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this with code, for example like this: > > fig, axes = plt.subplots(nrows=2,sharex=True) > plt.setp(axes[0], aspect=1.0, adjustable='box-forced') > > then the physical size of the top axes is much sorter than the physical size of the bottom axes (although they are poperly linked, as they have the same data limit, and when zooming in the top figure, the bottom figure adjusts). It just looks weird, as the size of the horizontal axis of the bottom figure should have the same physical size as the horizontal axis of the top figure. This used to be possible (a few years ago; haven't tried it for a while). Is there a way to do it with the current matpotlib? (1.4.3) > > Thanks, > > Mark > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- <http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-> event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________ > Matplotlib-users mailing list > Mat...@li... <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users <https://lists.sourceforge.net/lists/listinfo/matplotlib-users> > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Jody Klymak http://web.uvic.ca/~jklymak/ |
From: LowDepth <Hag...@gm...> - 2015-04-08 16:49:58
|
Hello, how can I plot circles or other shapes in plots which have logarithmic axis? I have a grid of 3 plots and want to plot some kind of sketches in the lower right corner of each subplot. How should I do that? import numpy as np from matplotlib import pyplot as plt from matplotlib import gridspec fig = plt.figure(figsize=(6, 10)) gs = gridspec.GridSpec(3, 1, height_ratios=[1.5, 1, 1])#, height_ratios=[2, 1, 1]) ax0 = plt.subplot(gs[0]) ax1 = plt.subplot(gs[1]) ax2 = plt.subplot(gs[2]) plt.setp(ax_new.get_yticklabels(), visible=False) plt.setp(ax_new.get_xticklabels(), visible=False) ax_new = fig.add_axes([0,0,1,1], frameon=False,aspect="equal") ax_new.axes.get_yaxis().set_visible(False) ax_new.axes.get_xaxis().set_visible(False) circle1=plt.Circle((0.2,0.0),0.05, color="0.8") circle2=plt.Circle((0.4,0.0),0.05, color="0.8") ax_new.add_artist(circle1) ax_new.add_artist(circle2) ax0.semilogx(x,x**2, "k-", linewidth=2) ax1.semilogx(x,x**3, "k--", linewidth=2) ax2.semilogx(x,np.exp(-x)+x**4, "k-.", linewidth=2) plt.tight_layout() plt.show() -- View this message in context: http://matplotlib.1069221.n5.nabble.com/How-to-draw-circles-in-logscale-plots-tp45367.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
From: Sourish B. <sou...@gm...> - 2015-04-08 16:08:56
|
<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> </head> <body bgcolor="#FFFFFF" text="#000000"> Hello,<br> <br> I have been fighting with this problem for some time. It seems that if, on a plot, I have some text inside a bounding box, it displays fine on the screen, saves OK as a PNG, but when I save the plot as a PDF the padding on the right side between the text and the box disappears. I have attached a minimal example with a text box, but this problem occurs for legends as well, if the legend text is long-ish. I am also attaching a PNG and a PDF output, as well as how the PDF shows up on my viewer. Has anyone else experienced this?<br> <br> Other relevant info:<br> <br> <b>$ uname -a</b><br> Linux Merlin 3.2.0-77-generic #114-Ubuntu SMP Tue Mar 10 17:26:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux<br> <br> <b>$ python -c 'import matplotlib; print matplotlib.__version__'</b><br> 1.3.1<br> <br> <b>Where I obtained matplotlib:</b> <br> The matplotlib SourceForge site<br> <br> <b>Customisations to </b><b>matplotlibrc:</b><br> backend : Qt4Agg<br> lines.markersize : 10 # markersize, in points<br> font.sans-serif : Ubuntu, Calibri, Liberation Sans<br> font.monospace : Consolas, Inconsolata, Ubuntu Mono, Droid Sans Mono<br> axes.color_cycle : e41a1c, 377eb8, 4daf4a, 984ea3, ff7f00, ffff33, a65628, f781bf, 999999<br> pdf.fonttype : 42 # Output Type 3 (Type3) or Type 42 (TrueType) # I have tried with fonttype=3 as well, and the bug still exists<br> <br> <b>$ python bug_test.py --verbose-helpful > output.txt</b><br> output.txt attached<br> <br> Thanks,<br> Sourish<br> <br> </body> </html> |
From: Thomas C. <tca...@gm...> - 2015-04-08 12:54:05
|
What version had this behavior? I recall some work on how aspect worked, but not exactly what we did. I see why it is useful, but on the other hand that sort of coupling seems like could cause some trouble if we are not careful. This all come back to we need a real layout manager/constraint solver (which no one has yet had time to address). For now I think this will do what you want: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.axes_grid1 import make_axes_locatable fig, ax_top = plt.subplots() ax_top.set_aspect(1) divider = make_axes_locatable(ax_top) bax_bottom = divider.append_axes('bottom', 1, pad=0.1, sharex=ax_top) Please don't use `plt.setp`, it is a MATLABism that I think is past it's time. On Wed, Apr 8, 2015 at 8:21 AM Mark Bakker <ma...@gm...> wrote: > import matplotlib.pyplot as plt > %matplotlib qt > fig, axes = plt.subplots(nrows=2,sharex=True) > plt.setp(axes[0], aspect=1.0, adjustable='box-forced') > plt.show() > > This used to create two axes of the same horizontal size. What it does now > is that it scales the upper axis so that the aspect=1.0 by changing the > physical size of the axis. But the physical size of the lower axis is not > changed, while this used to be the case in the past (but that may have been > a few years back). That sure used to be the desired behavior. > > Thanks for your help, > > Mark > > > > On Wed, Apr 8, 2015 at 2:16 PM, Thomas Caswell <tca...@gm...> wrote: > >> Can you please provide a minimal, but complete and runnable example of >> what you are doing? >> >> On Wed, Apr 8, 2015, 08:13 Mark Bakker <ma...@gm...> wrote: >> >>> Thanks, Thomas. >>> >>> That works indeed, but it doesn't make the figure adjustable, which is >>> what I wanted (that the physical size of the axes changes while the aspect >>> ratio is fixed to 1). I guess that functionality has been taken out. >>> >>> Mark >>> >>> On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm...> >>> wrote: >>> >>>> What are the data limits you are using? >>>> >>>> I suspect they you are over constraining the system/order of operations >>>> issue. Try dropping the adjustable setting and pre setting both the data >>>> limits and the approximate size in figure fraction (ex via grid spec) of >>>> the axes. >>>> >>>> Tom >>>> >>>> On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: >>>> >>>>> Hello list, >>>>> >>>>> I want to axes above each other. They share the x-axis. The top figure >>>>> has 'aspect=1' (it is a map), the bottom figure shows a cross-section along >>>>> a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this >>>>> with code, for example like this: >>>>> >>>>> fig, axes = plt.subplots(nrows=2,sharex=True) >>>>> plt.setp(axes[0], aspect=1.0, adjustable='box-forced') >>>>> >>>>> then the physical size of the top axes is much sorter than the >>>>> physical size of the bottom axes (although they are poperly linked, as they >>>>> have the same data limit, and when zooming in the top figure, the bottom >>>>> figure adjusts). It just looks weird, as the size of the horizontal axis of >>>>> the bottom figure should have the same physical size as the horizontal axis >>>>> of the top figure. This used to be possible (a few years ago; haven't tried >>>>> it for a while). Is there a way to do it with the current matpotlib? (1.4.3) >>>>> >>>>> Thanks, >>>>> >>>>> Mark >>>>> ------------------------------------------------------------ >>>>> ------------------ >>>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>>> Develop your own process in accordance with the BPMN 2 standard >>>>> Learn Process modeling best practices with Bonita BPM through live >>>>> exercises >>>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >>>>> event?utm_ >>>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >>>>> campaign=VA_SF_______________________________________________ >>>>> Matplotlib-users mailing list >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>> >>>> >>> > |
From: Mark B. <ma...@gm...> - 2015-04-08 12:21:38
|
import matplotlib.pyplot as plt %matplotlib qt fig, axes = plt.subplots(nrows=2,sharex=True) plt.setp(axes[0], aspect=1.0, adjustable='box-forced') plt.show() This used to create two axes of the same horizontal size. What it does now is that it scales the upper axis so that the aspect=1.0 by changing the physical size of the axis. But the physical size of the lower axis is not changed, while this used to be the case in the past (but that may have been a few years back). That sure used to be the desired behavior. Thanks for your help, Mark On Wed, Apr 8, 2015 at 2:16 PM, Thomas Caswell <tca...@gm...> wrote: > Can you please provide a minimal, but complete and runnable example of > what you are doing? > > On Wed, Apr 8, 2015, 08:13 Mark Bakker <ma...@gm...> wrote: > >> Thanks, Thomas. >> >> That works indeed, but it doesn't make the figure adjustable, which is >> what I wanted (that the physical size of the axes changes while the aspect >> ratio is fixed to 1). I guess that functionality has been taken out. >> >> Mark >> >> On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm...> >> wrote: >> >>> What are the data limits you are using? >>> >>> I suspect they you are over constraining the system/order of operations >>> issue. Try dropping the adjustable setting and pre setting both the data >>> limits and the approximate size in figure fraction (ex via grid spec) of >>> the axes. >>> >>> Tom >>> >>> On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: >>> >>>> Hello list, >>>> >>>> I want to axes above each other. They share the x-axis. The top figure >>>> has 'aspect=1' (it is a map), the bottom figure shows a cross-section along >>>> a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this >>>> with code, for example like this: >>>> >>>> fig, axes = plt.subplots(nrows=2,sharex=True) >>>> plt.setp(axes[0], aspect=1.0, adjustable='box-forced') >>>> >>>> then the physical size of the top axes is much sorter than the physical >>>> size of the bottom axes (although they are poperly linked, as they have the >>>> same data limit, and when zooming in the top figure, the bottom figure >>>> adjusts). It just looks weird, as the size of the horizontal axis of the >>>> bottom figure should have the same physical size as the horizontal axis of >>>> the top figure. This used to be possible (a few years ago; haven't tried it >>>> for a while). Is there a way to do it with the current matpotlib? (1.4.3) >>>> >>>> Thanks, >>>> >>>> Mark >>>> ------------------------------------------------------------ >>>> ------------------ >>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>> Develop your own process in accordance with the BPMN 2 standard >>>> Learn Process modeling best practices with Bonita BPM through live >>>> exercises >>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >>>> event?utm_ >>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >>>> campaign=VA_SF_______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> >> |
From: Thomas C. <tca...@gm...> - 2015-04-08 12:16:27
|
Can you please provide a minimal, but complete and runnable example of what you are doing? On Wed, Apr 8, 2015, 08:13 Mark Bakker <ma...@gm...> wrote: > Thanks, Thomas. > > That works indeed, but it doesn't make the figure adjustable, which is > what I wanted (that the physical size of the axes changes while the aspect > ratio is fixed to 1). I guess that functionality has been taken out. > > Mark > > On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm...> > wrote: > >> What are the data limits you are using? >> >> I suspect they you are over constraining the system/order of operations >> issue. Try dropping the adjustable setting and pre setting both the data >> limits and the approximate size in figure fraction (ex via grid spec) of >> the axes. >> >> Tom >> >> On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: >> >>> Hello list, >>> >>> I want to axes above each other. They share the x-axis. The top figure >>> has 'aspect=1' (it is a map), the bottom figure shows a cross-section along >>> a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this >>> with code, for example like this: >>> >>> fig, axes = plt.subplots(nrows=2,sharex=True) >>> plt.setp(axes[0], aspect=1.0, adjustable='box-forced') >>> >>> then the physical size of the top axes is much sorter than the physical >>> size of the bottom axes (although they are poperly linked, as they have the >>> same data limit, and when zooming in the top figure, the bottom figure >>> adjusts). It just looks weird, as the size of the horizontal axis of the >>> bottom figure should have the same physical size as the horizontal axis of >>> the top figure. This used to be possible (a few years ago; haven't tried it >>> for a while). Is there a way to do it with the current matpotlib? (1.4.3) >>> >>> Thanks, >>> >>> Mark >>> ------------------------------------------------------------ >>> ------------------ >>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>> Develop your own process in accordance with the BPMN 2 standard >>> Learn Process modeling best practices with Bonita BPM through live >>> exercises >>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >>> event?utm_ >>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >>> campaign=VA_SF_______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> > |
From: Mark B. <ma...@gm...> - 2015-04-08 12:14:04
|
Thanks, Thomas. That works indeed, but it doesn't make the figure adjustable, which is what I wanted (that the physical size of the axes changes while the aspect ratio is fixed to 1). I guess that functionality has been taken out. Mark On Wed, Apr 8, 2015 at 12:50 PM, Thomas Caswell <tca...@gm...> wrote: > What are the data limits you are using? > > I suspect they you are over constraining the system/order of operations > issue. Try dropping the adjustable setting and pre setting both the data > limits and the approximate size in figure fraction (ex via grid spec) of > the axes. > > Tom > > On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: > >> Hello list, >> >> I want to axes above each other. They share the x-axis. The top figure >> has 'aspect=1' (it is a map), the bottom figure shows a cross-section along >> a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this >> with code, for example like this: >> >> fig, axes = plt.subplots(nrows=2,sharex=True) >> plt.setp(axes[0], aspect=1.0, adjustable='box-forced') >> >> then the physical size of the top axes is much sorter than the physical >> size of the bottom axes (although they are poperly linked, as they have the >> same data limit, and when zooming in the top figure, the bottom figure >> adjusts). It just looks weird, as the size of the horizontal axis of the >> bottom figure should have the same physical size as the horizontal axis of >> the top figure. This used to be possible (a few years ago; haven't tried it >> for a while). Is there a way to do it with the current matpotlib? (1.4.3) >> >> Thanks, >> >> Mark >> ------------------------------------------------------------ >> ------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live >> exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- >> event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ >> campaign=VA_SF_______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > |
From: Thomas C. <tca...@gm...> - 2015-04-08 10:50:52
|
What are the data limits you are using? I suspect they you are over constraining the system/order of operations issue. Try dropping the adjustable setting and pre setting both the data limits and the approximate size in figure fraction (ex via grid spec) of the axes. Tom On Tue, Apr 7, 2015, 15:54 Mark Bakker <ma...@gm...> wrote: > Hello list, > > I want to axes above each other. They share the x-axis. The top figure has > 'aspect=1' (it is a map), the bottom figure shows a cross-section along a > horizontal line on the map, so it doesn't have 'aspect=1'. When I do this > with code, for example like this: > > fig, axes = plt.subplots(nrows=2,sharex=True) > plt.setp(axes[0], aspect=1.0, adjustable='box-forced') > > then the physical size of the top axes is much sorter than the physical > size of the bottom axes (although they are poperly linked, as they have the > same data limit, and when zooming in the top figure, the bottom figure > adjusts). It just looks weird, as the size of the horizontal axis of the > bottom figure should have the same physical size as the horizontal axis of > the top figure. This used to be possible (a few years ago; haven't tried it > for a while). Is there a way to do it with the current matpotlib? (1.4.3) > > Thanks, > > Mark > ------------------------------------------------------------ > ------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ > campaign=VA_SF_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: Christian A. <am...@ym...> - 2015-04-08 10:04:17
|
Hi Ryan, could you write down, as a tutorial, how you built the example with the qt designer?In the last hours I read all most everything what can be found on the issue of getting matplotlib running with pyqt5 and the designer but as you realized yourself, there is little to be found handy. I'm stuck at a project, which has to use python3, and pyqt5 and am not allowed by my boss to fall back to pyqt4 or qt_compat. He wants to make sure that we use the latest revisions. So I#m very pleased to read that someone already set food on this terrain. Qt5.4.1 is running and I installed PyQtdesingerplugins, in mind that they were written for PyQt4. Are they usable in 5? I added the env-variables to my bashrc, did get any changes shown in the designer. Of course I did a re-log-in to start fresh, but any changes were noteable.What possible ways of embedding matplotlib into a designer base pyqt5-gui else, are there? cheers,Christian -- "A little learning never caused anyone's head to explode!" "Ein wenig Lernen hat noch niemandens Kopf zum Explodieren gebracht!" On Wednesday, February 18, 2015 11:59 PM, Ryan Nelson <rne...@gm...> wrote: Hello list, A couple months ago, I spent quite a bit of time trying to figure out how to use Qt designer create a GUI with an embedded MPL window. Unfortunately, the Scipy cookbook page (http://wiki.scipy.org/Cookbook/Matplotlib/Qt_with_IPython_and_Designer) is very outdated. A recent post (http://matplotlib.1069221.n5.nabble.com/Re-Keep-list-of-figures-or-plots-and-flip-through-list-using-UI-td44961.html) brought up some questions about a use case very similar to mine, so I redid my example and was going to write a quick tutorial for the docs. Unfortunately, I'm not a Qt guru, so I thought that I would ask on the list for some advice. The OP and I were both interested in being able to have a list of figures that you could select from to change the plot window. The embedding examples in the docs create subclasses of FigureClass* and embed the plotting figure/axes/etc. This works but gets tricky, though, when trying to switch plots. Also, for interactive IPython work, I didn't like that the plotting objects were mixed in with all the QtGui.QWidget attributes, which makes introspective searching painful. My solution was to create a dictionary of matplotlib.figure.Figure objects that had all of the plotting stuff defined. Then when I select a new plot from the list, the old one is removed and a new FigureClass object is created using the selected Figure object. Has anyone else successfully done something like this? Is there a better way? Also, it seems if I zoom the current plot, change to a new plot, and change back, the zoom region is retained. Anyone know how to reset the zoom region? Attached is my example: "window.py" is the Designer-created main window and "custommpl.py" is the subclass of the main window that I wrote. It's about as short as I could make it. Thanks Ryan ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk _______________________________________________ Matplotlib-users mailing list Mat...@li... https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Markus H. <mar...@ui...> - 2015-04-08 08:12:03
|
Hi Jody, Thank you very much for your help. You are right, this is what I wanted :-) Cheers, Markus On 2015-04-07 23:33, Jody Klymak wrote: > xerr is +/- relative to the data: > > *xerr*/*yerr*: [ scalar | N, Nx1, or 2xN array-like ] > If a scalar number, len(N) array-like object, or an Nx1 > array-like object, errorbars are drawn at +/-value relative > to the data. > > If a sequence of shape 2xN, errorbars are drawn at -row1 > and +row2 relative to the data. > > I think you want: > > xdat=10**data_x_log > ax.errorbar(10**data_x_log,data_y,xerr=[xdat-error_x_lower,error_x_upper-xdat],ls='',marker='o') > > Cheers, Jody > >> On 7 Apr 2015, at 13:51 PM, Markus Haider <mar...@ui...> wrote: >> >> I have the error from a table which is in log units, and the error is >> given to be symmetric in log space. >> >> Cheers, >> Markus >> >> On 2015-04-07 16:40, Yuxiang Wang wrote: >>> Typo - "standard deviation OR standard error of mean", not "OF". >>> >>> Sorry. >>> >>> Shawn >>> >>> >>> On Tue, Apr 7, 2015 at 10:39 AM, Yuxiang Wang <yw...@vi...> wrote: >>>> If you error bars denote standard deviation of standard error of mean, >>>> shouldn't they be non-symmetric in log scale? >>>> >>>> Shawn >>>> >>>> On Tue, Apr 7, 2015 at 10:11 AM, Markus Haider <mar...@ui...> wrote: >>>>> Hi, >>>>> >>>>> I am trying to make an errorbar plot with a logarithmic x-axis. I have >>>>> symmetric errors in logspace, however if I plot them, the errors are not >>>>> symmetric anymore, as you can see in the enclosed image. Am I >>>>> misunderstanding something or is this a bug? >>>>> >>>>> Thanks for your help, >>>>> Markus >>>>> >>>>> Here the code I used to produce the plot: >>>>> >>>>> import matplotlib.pyplot as plt >>>>> >>>>> import numpy as np >>>>> >>>>> data_x_log = np.array([13.0,15.0]) >>>>> >>>>> data_y = np.array([0.5,1]) >>>>> >>>>> error_x_log = np.array([0.5,1.]) >>>>> >>>>> error_x_lower = 10**(data_x_log-error_x_log) >>>>> >>>>> error_x_upper = 10**(data_x_log+error_x_log) >>>>> >>>>> fig = plt.figure() >>>>> >>>>> ax = fig.add_subplot(111) >>>>> >>>>> ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') >>>>> >>>>> ax.set_xscale('log') >>>>> >>>>> ax.set_xlim([1E11,1E17]) >>>>> >>>>> ax.set_ylim([0,2]) >>>>> >>>>> plt.savefig('error.png') >>>>> >>>>> >>>>> ------------------------------------------------------------------------------ >>>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>>> Develop your own process in accordance with the BPMN 2 standard >>>>> Learn Process modeling best practices with Bonita BPM through live exercises >>>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >>>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >>>>> _______________________________________________ >>>>> Matplotlib-users mailing list >>>>> Mat...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>>> >>>> >>>> -- >>>> Yuxiang "Shawn" Wang >>>> Gerling Research Lab >>>> University of Virginia >>>> yw...@vi... >>>> +1 (434) 284-0836 >>>> https://sites.google.com/a/virginia.edu/yw5aj/ >>> >> >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- > Jody Klymak > http://web.uvic.ca/~jklymak/ > > > > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
From: Jody K. <jk...@uv...> - 2015-04-07 21:33:39
|
xerr is +/- relative to the data: *xerr*/*yerr*: [ scalar | N, Nx1, or 2xN array-like ] If a scalar number, len(N) array-like object, or an Nx1 array-like object, errorbars are drawn at +/-value relative to the data. If a sequence of shape 2xN, errorbars are drawn at -row1 and +row2 relative to the data. I think you want: xdat=10**data_x_log ax.errorbar(10**data_x_log,data_y,xerr=[xdat-error_x_lower,error_x_upper-xdat],ls='',marker='o') Cheers, Jody > On 7 Apr 2015, at 13:51 PM, Markus Haider <mar...@ui...> wrote: > > I have the error from a table which is in log units, and the error is > given to be symmetric in log space. > > Cheers, > Markus > > On 2015-04-07 16:40, Yuxiang Wang wrote: >> Typo - "standard deviation OR standard error of mean", not "OF". >> >> Sorry. >> >> Shawn >> >> >> On Tue, Apr 7, 2015 at 10:39 AM, Yuxiang Wang <yw...@vi...> wrote: >>> If you error bars denote standard deviation of standard error of mean, >>> shouldn't they be non-symmetric in log scale? >>> >>> Shawn >>> >>> On Tue, Apr 7, 2015 at 10:11 AM, Markus Haider <mar...@ui...> wrote: >>>> Hi, >>>> >>>> I am trying to make an errorbar plot with a logarithmic x-axis. I have >>>> symmetric errors in logspace, however if I plot them, the errors are not >>>> symmetric anymore, as you can see in the enclosed image. Am I >>>> misunderstanding something or is this a bug? >>>> >>>> Thanks for your help, >>>> Markus >>>> >>>> Here the code I used to produce the plot: >>>> >>>> import matplotlib.pyplot as plt >>>> >>>> import numpy as np >>>> >>>> data_x_log = np.array([13.0,15.0]) >>>> >>>> data_y = np.array([0.5,1]) >>>> >>>> error_x_log = np.array([0.5,1.]) >>>> >>>> error_x_lower = 10**(data_x_log-error_x_log) >>>> >>>> error_x_upper = 10**(data_x_log+error_x_log) >>>> >>>> fig = plt.figure() >>>> >>>> ax = fig.add_subplot(111) >>>> >>>> ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') >>>> >>>> ax.set_xscale('log') >>>> >>>> ax.set_xlim([1E11,1E17]) >>>> >>>> ax.set_ylim([0,2]) >>>> >>>> plt.savefig('error.png') >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>>> Develop your own process in accordance with the BPMN 2 standard >>>> Learn Process modeling best practices with Bonita BPM through live exercises >>>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >>>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >>>> _______________________________________________ >>>> Matplotlib-users mailing list >>>> Mat...@li... >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>>> >>> >>> >>> -- >>> Yuxiang "Shawn" Wang >>> Gerling Research Lab >>> University of Virginia >>> yw...@vi... >>> +1 (434) 284-0836 >>> https://sites.google.com/a/virginia.edu/yw5aj/ >> >> > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Jody Klymak http://web.uvic.ca/~jklymak/ |
From: Markus H. <mar...@ui...> - 2015-04-07 20:51:15
|
I have the error from a table which is in log units, and the error is given to be symmetric in log space. Cheers, Markus On 2015-04-07 16:40, Yuxiang Wang wrote: > Typo - "standard deviation OR standard error of mean", not "OF". > > Sorry. > > Shawn > > > On Tue, Apr 7, 2015 at 10:39 AM, Yuxiang Wang <yw...@vi...> wrote: >> If you error bars denote standard deviation of standard error of mean, >> shouldn't they be non-symmetric in log scale? >> >> Shawn >> >> On Tue, Apr 7, 2015 at 10:11 AM, Markus Haider <mar...@ui...> wrote: >>> Hi, >>> >>> I am trying to make an errorbar plot with a logarithmic x-axis. I have >>> symmetric errors in logspace, however if I plot them, the errors are not >>> symmetric anymore, as you can see in the enclosed image. Am I >>> misunderstanding something or is this a bug? >>> >>> Thanks for your help, >>> Markus >>> >>> Here the code I used to produce the plot: >>> >>> import matplotlib.pyplot as plt >>> >>> import numpy as np >>> >>> data_x_log = np.array([13.0,15.0]) >>> >>> data_y = np.array([0.5,1]) >>> >>> error_x_log = np.array([0.5,1.]) >>> >>> error_x_lower = 10**(data_x_log-error_x_log) >>> >>> error_x_upper = 10**(data_x_log+error_x_log) >>> >>> fig = plt.figure() >>> >>> ax = fig.add_subplot(111) >>> >>> ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') >>> >>> ax.set_xscale('log') >>> >>> ax.set_xlim([1E11,1E17]) >>> >>> ax.set_ylim([0,2]) >>> >>> plt.savefig('error.png') >>> >>> >>> ------------------------------------------------------------------------------ >>> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >>> Develop your own process in accordance with the BPMN 2 standard >>> Learn Process modeling best practices with Bonita BPM through live exercises >>> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >>> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >>> _______________________________________________ >>> Matplotlib-users mailing list >>> Mat...@li... >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >>> >> >> >> -- >> Yuxiang "Shawn" Wang >> Gerling Research Lab >> University of Virginia >> yw...@vi... >> +1 (434) 284-0836 >> https://sites.google.com/a/virginia.edu/yw5aj/ > > |
From: Mark B. <ma...@gm...> - 2015-04-07 19:53:40
|
Hello list, I want to axes above each other. They share the x-axis. The top figure has 'aspect=1' (it is a map), the bottom figure shows a cross-section along a horizontal line on the map, so it doesn't have 'aspect=1'. When I do this with code, for example like this: fig, axes = plt.subplots(nrows=2,sharex=True) plt.setp(axes[0], aspect=1.0, adjustable='box-forced') then the physical size of the top axes is much sorter than the physical size of the bottom axes (although they are poperly linked, as they have the same data limit, and when zooming in the top figure, the bottom figure adjusts). It just looks weird, as the size of the horizontal axis of the bottom figure should have the same physical size as the horizontal axis of the top figure. This used to be possible (a few years ago; haven't tried it for a while). Is there a way to do it with the current matpotlib? (1.4.3) Thanks, Mark |
From: Steven B. <bo...@ph...> - 2015-04-07 16:18:34
|
Hi Tom, Thanks for your help. interpolation='nearest' doesn't produce any problems. I'm currently using TkAgg, and I checked with a buddy of mine, using MacOSX backend. Neither of us see any problems using interpolation='nearest'. He is using an older version of MPL which doesn't let him use interpolation='none'. I will ask around to see if anyone can run a few more test cases. Steven On 4/7/15 10:39 AM, Thomas Caswell wrote: > This probably should be made into an issue on github as this is > clearly a bug. > > On further consideration, the fact that in my example the bad pixels > show up only on the edge and are not symmetric makes me think that my > original suggestion is wrong. Does `interpoltation='nearest'` work > any better? > > I also am not sure that the rasterzation is happening so this may be > an issue on the renderer end. > > This needs more investigation that I have time for today. > > Tom > > On Tue, Apr 7, 2015 at 11:02 AM Steven Boada <bo...@ph... > <mailto:bo...@ph...>> wrote: > > Thomas, > > Thanks for the smaller example. I would have come up with one, but I > wasn't sure what was causing it to begin with. > > Is there anything to be done to prevent this? Just use another > backend? > > Steven > > On 4/6/15 8:47 PM, Thomas Caswell wrote: > > This is probaly due to issues with not all of the vector backends > > supporting alpha gracefully. > > > > This can be reproduced more simply by > > > > x, y = np.ogrid[-5:5:.1, -5:5:.1] > > dd = np.exp(-(x**2 + y**2)) > > dd[dd < .1] = np.nan > > > > fig, ax = plt.subplots() > > ax.imshow(dd, interpolation='none', cmap='gray_r') > > plt.savefig('test.pdf') > > > > @steven In the future it is best to report bugs with minimal > > copy-paste able examples. > > > > On Mon, Apr 6, 2015 at 5:41 PM Steven Boada > <bo...@ph... <mailto:bo...@ph...> > > <mailto:bo...@ph... <mailto:bo...@ph...>>> > wrote: > > > > Getting some strange artifacts when I save a figure as a PDF in > > matplotlib. Here are some screen shots. PDF > > <http://imgur.com/oQDXkWn> and PNG > <http://imgur.com/bCw3Fn4>. Any > > idea why that is happening? > > > > Here is (most of) the source code that makes the plot. I > stripped > > out the data generation, because it is long and involved, and > > doesn't really matter. Basically what the script is supposed > to do > > is make a scatter plot where the density is below some > threshold, > > and a 2d histogram when it is above that threshold. The code > seems > > to work fine, but when I save the figure (using savefig in > > Ipython) it shows up funny. > > > > Thanks. > > > > import pylab as pyl > > > > bins = [50,50] > > thresh = 3 > > > > xdat = #generate or load some data > > ydat = #generate or load some data > > > > hh, locx, locy = pyl.histogram2d(xdat, ydat, > > range=[[-1,4],[-26,-10]], bins=bins) > > posx = pyl.digitize(xdat, locx) > > posy = pyl.digitize(ydat, locy) > > > > # finds the bins which contain points. posx = 0 for points > > outside "range" > > ind = (posx > 0) & (posx <= bins[0]) & (posy > 0) & (posy <= > > bins[1]) > > # values of histogram with points in the bins. > > hhsub = hh[posx[ind] - 1, posy[ind] - 1] > > > > xdat1 = xdat[ind][hhsub < thresh] # low density points > > ydat1 = ydat[ind][hhsub < thresh] > > hh[hh < thresh] = pyl.nan # fill the areas with low > density by > > NaNs > > > > pyl.scatter(xdat1, ydat1, s=20, c='0.8') > > pyl.imshow(pyl.log10(hh.T), cmap='gray_r', > > extent=pyl.array([[-1,4],[-26,-10]]).flatten(), > > interpolation='none') > > > > pyl.show() > > > > -- > > > > Steven Boada > > > > Doctoral Student > > Dept of Physics and Astronomy > > Texas A&M University > > bo...@ph... <mailto:bo...@ph...> > <mailto:bo...@ph... <mailto:bo...@ph...>> > > > > > ------------------------------------------------------------------------------ > > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > > Develop your own process in accordance with the BPMN 2 standard > > Learn Process modeling best practices with Bonita BPM > through live > > exercises > > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > > event?utm_ > > > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > <mailto:Mat...@li...> > > <mailto:Mat...@li... > <mailto:Mat...@li...>> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > > Steven Boada > > Doctoral Student > Dept of Physics and Astronomy > Texas A&M University > bo...@ph... <mailto:bo...@ph...> > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Steven Boada Doctoral Student Dept of Physics and Astronomy Texas A&M University bo...@ph... |
From: Thomas C. <tca...@gm...> - 2015-04-07 15:39:27
|
This probably should be made into an issue on github as this is clearly a bug. On further consideration, the fact that in my example the bad pixels show up only on the edge and are not symmetric makes me think that my original suggestion is wrong. Does `interpoltation='nearest'` work any better? I also am not sure that the rasterzation is happening so this may be an issue on the renderer end. This needs more investigation that I have time for today. Tom On Tue, Apr 7, 2015 at 11:02 AM Steven Boada <bo...@ph...> wrote: > Thomas, > > Thanks for the smaller example. I would have come up with one, but I > wasn't sure what was causing it to begin with. > > Is there anything to be done to prevent this? Just use another backend? > > Steven > > On 4/6/15 8:47 PM, Thomas Caswell wrote: > > This is probaly due to issues with not all of the vector backends > > supporting alpha gracefully. > > > > This can be reproduced more simply by > > > > x, y = np.ogrid[-5:5:.1, -5:5:.1] > > dd = np.exp(-(x**2 + y**2)) > > dd[dd < .1] = np.nan > > > > fig, ax = plt.subplots() > > ax.imshow(dd, interpolation='none', cmap='gray_r') > > plt.savefig('test.pdf') > > > > @steven In the future it is best to report bugs with minimal > > copy-paste able examples. > > > > On Mon, Apr 6, 2015 at 5:41 PM Steven Boada <bo...@ph... > > <mailto:bo...@ph...>> wrote: > > > > Getting some strange artifacts when I save a figure as a PDF in > > matplotlib. Here are some screen shots. PDF > > <http://imgur.com/oQDXkWn> and PNG <http://imgur.com/bCw3Fn4>. Any > > idea why that is happening? > > > > Here is (most of) the source code that makes the plot. I stripped > > out the data generation, because it is long and involved, and > > doesn't really matter. Basically what the script is supposed to do > > is make a scatter plot where the density is below some threshold, > > and a 2d histogram when it is above that threshold. The code seems > > to work fine, but when I save the figure (using savefig in > > Ipython) it shows up funny. > > > > Thanks. > > > > import pylab as pyl > > > > bins = [50,50] > > thresh = 3 > > > > xdat = #generate or load some data > > ydat = #generate or load some data > > > > hh, locx, locy = pyl.histogram2d(xdat, ydat, > > range=[[-1,4],[-26,-10]], bins=bins) > > posx = pyl.digitize(xdat, locx) > > posy = pyl.digitize(ydat, locy) > > > > # finds the bins which contain points. posx = 0 for points > > outside "range" > > ind = (posx > 0) & (posx <= bins[0]) & (posy > 0) & (posy <= > > bins[1]) > > # values of histogram with points in the bins. > > hhsub = hh[posx[ind] - 1, posy[ind] - 1] > > > > xdat1 = xdat[ind][hhsub < thresh] # low density points > > ydat1 = ydat[ind][hhsub < thresh] > > hh[hh < thresh] = pyl.nan # fill the areas with low density by > > NaNs > > > > pyl.scatter(xdat1, ydat1, s=20, c='0.8') > > pyl.imshow(pyl.log10(hh.T), cmap='gray_r', > > extent=pyl.array([[-1,4],[-26,-10]]).flatten(), > > interpolation='none') > > > > pyl.show() > > > > -- > > > > Steven Boada > > > > Doctoral Student > > Dept of Physics and Astronomy > > Texas A&M University > > bo...@ph... <mailto:bo...@ph...> > > > > ------------------------------------------------------------ > ------------------ > > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > > Develop your own process in accordance with the BPMN 2 standard > > Learn Process modeling best practices with Bonita BPM through live > > exercises > > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > > event?utm_ > > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_ > campaign=VA_SF_______________________________________________ > > Matplotlib-users mailing list > > Mat...@li... > > <mailto:Mat...@li...> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > > Steven Boada > > Doctoral Student > Dept of Physics and Astronomy > Texas A&M University > bo...@ph... > > > ------------------------------------------------------------ > ------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > |
From: Steven B. <bo...@ph...> - 2015-04-07 15:01:35
|
Thomas, Thanks for the smaller example. I would have come up with one, but I wasn't sure what was causing it to begin with. Is there anything to be done to prevent this? Just use another backend? Steven On 4/6/15 8:47 PM, Thomas Caswell wrote: > This is probaly due to issues with not all of the vector backends > supporting alpha gracefully. > > This can be reproduced more simply by > > x, y = np.ogrid[-5:5:.1, -5:5:.1] > dd = np.exp(-(x**2 + y**2)) > dd[dd < .1] = np.nan > > fig, ax = plt.subplots() > ax.imshow(dd, interpolation='none', cmap='gray_r') > plt.savefig('test.pdf') > > @steven In the future it is best to report bugs with minimal > copy-paste able examples. > > On Mon, Apr 6, 2015 at 5:41 PM Steven Boada <bo...@ph... > <mailto:bo...@ph...>> wrote: > > Getting some strange artifacts when I save a figure as a PDF in > matplotlib. Here are some screen shots. PDF > <http://imgur.com/oQDXkWn> and PNG <http://imgur.com/bCw3Fn4>. Any > idea why that is happening? > > Here is (most of) the source code that makes the plot. I stripped > out the data generation, because it is long and involved, and > doesn't really matter. Basically what the script is supposed to do > is make a scatter plot where the density is below some threshold, > and a 2d histogram when it is above that threshold. The code seems > to work fine, but when I save the figure (using savefig in > Ipython) it shows up funny. > > Thanks. > > import pylab as pyl > > bins = [50,50] > thresh = 3 > > xdat = #generate or load some data > ydat = #generate or load some data > > hh, locx, locy = pyl.histogram2d(xdat, ydat, > range=[[-1,4],[-26,-10]], bins=bins) > posx = pyl.digitize(xdat, locx) > posy = pyl.digitize(ydat, locy) > > # finds the bins which contain points. posx = 0 for points > outside "range" > ind = (posx > 0) & (posx <= bins[0]) & (posy > 0) & (posy <= > bins[1]) > # values of histogram with points in the bins. > hhsub = hh[posx[ind] - 1, posy[ind] - 1] > > xdat1 = xdat[ind][hhsub < thresh] # low density points > ydat1 = ydat[ind][hhsub < thresh] > hh[hh < thresh] = pyl.nan # fill the areas with low density by > NaNs > > pyl.scatter(xdat1, ydat1, s=20, c='0.8') > pyl.imshow(pyl.log10(hh.T), cmap='gray_r', > extent=pyl.array([[-1,4],[-26,-10]]).flatten(), > interpolation='none') > > pyl.show() > > -- > > Steven Boada > > Doctoral Student > Dept of Physics and Astronomy > Texas A&M University > bo...@ph... <mailto:bo...@ph...> > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF_______________________________________________ > Matplotlib-users mailing list > Mat...@li... > <mailto:Mat...@li...> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Steven Boada Doctoral Student Dept of Physics and Astronomy Texas A&M University bo...@ph... |
From: Yuxiang W. <yw...@vi...> - 2015-04-07 14:40:09
|
Typo - "standard deviation OR standard error of mean", not "OF". Sorry. Shawn On Tue, Apr 7, 2015 at 10:39 AM, Yuxiang Wang <yw...@vi...> wrote: > If you error bars denote standard deviation of standard error of mean, > shouldn't they be non-symmetric in log scale? > > Shawn > > On Tue, Apr 7, 2015 at 10:11 AM, Markus Haider <mar...@ui...> wrote: >> Hi, >> >> I am trying to make an errorbar plot with a logarithmic x-axis. I have >> symmetric errors in logspace, however if I plot them, the errors are not >> symmetric anymore, as you can see in the enclosed image. Am I >> misunderstanding something or is this a bug? >> >> Thanks for your help, >> Markus >> >> Here the code I used to produce the plot: >> >> import matplotlib.pyplot as plt >> >> import numpy as np >> >> data_x_log = np.array([13.0,15.0]) >> >> data_y = np.array([0.5,1]) >> >> error_x_log = np.array([0.5,1.]) >> >> error_x_lower = 10**(data_x_log-error_x_log) >> >> error_x_upper = 10**(data_x_log+error_x_log) >> >> fig = plt.figure() >> >> ax = fig.add_subplot(111) >> >> ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') >> >> ax.set_xscale('log') >> >> ax.set_xlim([1E11,1E17]) >> >> ax.set_ylim([0,2]) >> >> plt.savefig('error.png') >> >> >> ------------------------------------------------------------------------------ >> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT >> Develop your own process in accordance with the BPMN 2 standard >> Learn Process modeling best practices with Bonita BPM through live exercises >> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ >> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> > > > > -- > Yuxiang "Shawn" Wang > Gerling Research Lab > University of Virginia > yw...@vi... > +1 (434) 284-0836 > https://sites.google.com/a/virginia.edu/yw5aj/ -- Yuxiang "Shawn" Wang Gerling Research Lab University of Virginia yw...@vi... +1 (434) 284-0836 https://sites.google.com/a/virginia.edu/yw5aj/ |
From: Yuxiang W. <yw...@vi...> - 2015-04-07 14:39:21
|
If you error bars denote standard deviation of standard error of mean, shouldn't they be non-symmetric in log scale? Shawn On Tue, Apr 7, 2015 at 10:11 AM, Markus Haider <mar...@ui...> wrote: > Hi, > > I am trying to make an errorbar plot with a logarithmic x-axis. I have > symmetric errors in logspace, however if I plot them, the errors are not > symmetric anymore, as you can see in the enclosed image. Am I > misunderstanding something or is this a bug? > > Thanks for your help, > Markus > > Here the code I used to produce the plot: > > import matplotlib.pyplot as plt > > import numpy as np > > data_x_log = np.array([13.0,15.0]) > > data_y = np.array([0.5,1]) > > error_x_log = np.array([0.5,1.]) > > error_x_lower = 10**(data_x_log-error_x_log) > > error_x_upper = 10**(data_x_log+error_x_log) > > fig = plt.figure() > > ax = fig.add_subplot(111) > > ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') > > ax.set_xscale('log') > > ax.set_xlim([1E11,1E17]) > > ax.set_ylim([0,2]) > > plt.savefig('error.png') > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > -- Yuxiang "Shawn" Wang Gerling Research Lab University of Virginia yw...@vi... +1 (434) 284-0836 https://sites.google.com/a/virginia.edu/yw5aj/ |
From: Markus H. <mar...@ui...> - 2015-04-07 14:14:20
|
Hi, I am trying to make an errorbar plot with a logarithmic x-axis. I have symmetric errors in logspace, however if I plot them, the errors are not symmetric anymore, as you can see in the enclosed image. Am I misunderstanding something or is this a bug? Thanks for your help, Markus Here the code I used to produce the plot: import matplotlib.pyplot as plt import numpy as np data_x_log = np.array([13.0,15.0]) data_y = np.array([0.5,1]) error_x_log = np.array([0.5,1.]) error_x_lower = 10**(data_x_log-error_x_log) error_x_upper = 10**(data_x_log+error_x_log) fig = plt.figure() ax = fig.add_subplot(111) ax.errorbar(10**data_x_log,data_y,xerr=[error_x_lower,error_x_upper],ls='',marker='o') ax.set_xscale('log') ax.set_xlim([1E11,1E17]) ax.set_ylim([0,2]) plt.savefig('error.png') |
From: AKKO <koh...@ya...> - 2015-04-07 01:52:14
|
Dear All, I have made a post on Stackoverflow that has not garnered any help so far, and I'm drawing this to your attention here because it seems like this could be a bug: http://stackoverflow.com/questions/29469179/potential-bug-in-either-matplotlib-or-pandas Please look at my post, and I would greatly appreciate any help! I'm do puzzled by that behavior! Thank you. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/Perplexing-behavior-from-combined-use-of-Matplotlib-and-pandas-tp45345.html Sent from the matplotlib - users mailing list archive at Nabble.com. |