SourceForge logo
SourceForge logo
Menu

matplotlib-users — Discussion related to using matplotlib

You can subscribe to this list here.

2003 Jan
Feb
Mar
Apr
May
(3)
Jun
Jul
Aug
(12)
Sep
(12)
Oct
(56)
Nov
(65)
Dec
(37)
2004 Jan
(59)
Feb
(78)
Mar
(153)
Apr
(205)
May
(184)
Jun
(123)
Jul
(171)
Aug
(156)
Sep
(190)
Oct
(120)
Nov
(154)
Dec
(223)
2005 Jan
(184)
Feb
(267)
Mar
(214)
Apr
(286)
May
(320)
Jun
(299)
Jul
(348)
Aug
(283)
Sep
(355)
Oct
(293)
Nov
(232)
Dec
(203)
2006 Jan
(352)
Feb
(358)
Mar
(403)
Apr
(313)
May
(165)
Jun
(281)
Jul
(316)
Aug
(228)
Sep
(279)
Oct
(243)
Nov
(315)
Dec
(345)
2007 Jan
(260)
Feb
(323)
Mar
(340)
Apr
(319)
May
(290)
Jun
(296)
Jul
(221)
Aug
(292)
Sep
(242)
Oct
(248)
Nov
(242)
Dec
(332)
2008 Jan
(312)
Feb
(359)
Mar
(454)
Apr
(287)
May
(340)
Jun
(450)
Jul
(403)
Aug
(324)
Sep
(349)
Oct
(385)
Nov
(363)
Dec
(437)
2009 Jan
(500)
Feb
(301)
Mar
(409)
Apr
(486)
May
(545)
Jun
(391)
Jul
(518)
Aug
(497)
Sep
(492)
Oct
(429)
Nov
(357)
Dec
(310)
2010 Jan
(371)
Feb
(657)
Mar
(519)
Apr
(432)
May
(312)
Jun
(416)
Jul
(477)
Aug
(386)
Sep
(419)
Oct
(435)
Nov
(320)
Dec
(202)
2011 Jan
(321)
Feb
(413)
Mar
(299)
Apr
(215)
May
(284)
Jun
(203)
Jul
(207)
Aug
(314)
Sep
(321)
Oct
(259)
Nov
(347)
Dec
(209)
2012 Jan
(322)
Feb
(414)
Mar
(377)
Apr
(179)
May
(173)
Jun
(234)
Jul
(295)
Aug
(239)
Sep
(276)
Oct
(355)
Nov
(144)
Dec
(108)
2013 Jan
(170)
Feb
(89)
Mar
(204)
Apr
(133)
May
(142)
Jun
(89)
Jul
(160)
Aug
(180)
Sep
(69)
Oct
(136)
Nov
(83)
Dec
(32)
2014 Jan
(71)
Feb
(90)
Mar
(161)
Apr
(117)
May
(78)
Jun
(94)
Jul
(60)
Aug
(83)
Sep
(102)
Oct
(132)
Nov
(154)
Dec
(96)
2015 Jan
(45)
Feb
(138)
Mar
(176)
Apr
(132)
May
(119)
Jun
(124)
Jul
(77)
Aug
(31)
Sep
(34)
Oct
(22)
Nov
(23)
Dec
(9)
2016 Jan
(26)
Feb
(17)
Mar
(10)
Apr
(8)
May
(4)
Jun
(8)
Jul
(6)
Aug
(5)
Sep
(9)
Oct
(4)
Nov
Dec
2017 Jan
(5)
Feb
(7)
Mar
(1)
Apr
(5)
May
Jun
(3)
Jul
(6)
Aug
(1)
Sep
Oct
(2)
Nov
(1)
Dec
2018 Jan
Feb
Mar
Apr
(1)
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2020 Jan
Feb
Mar
Apr
May
(1)
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2025 Jan
(1)
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
S M T W T F S






1
2
3
(6)
4
(2)
5
(7)
6
(9)
7
(8)
8
(1)
9
(1)
10
(1)
11
(11)
12
(1)
13
(11)
14
(7)
15
(1)
16
17
18
(1)
19
20
(1)
21
(2)
22
(1)
23
(1)
24
(2)
25
(3)
26
(2)
27
(2)
28
(2)
29
(5)
30
(1)






Showing results of 89

1 2 3 4 > >> (Page 1 of 4)
From: mdekauwe <mde...@gm...> - 2013年06月30日 01:36:34
Yes and no. My understanding of stacked bars is the bar stacked on top is
always larger than the one below. I am trying to show how much the second
bar explains of the first bar. In my case though it is possible the second
bar is larger than the first. As a consequence you wouldn't see both bars
and this is why I want to draw a line to show where the other bar extends
to.the 
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333p41341.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: klo uo <kl...@gm...> - 2013年06月29日 22:43:01
Thanks Paul, that solved the problem.
 matplotlib.rcParams['axes.linewidth'] = 0.5
 matplotlib.rcParams['patch.linewidth'] = 0.5
is what I wanted and I'll put that in matplotlibrc.
Previously I thought that this is related to some anti-aliasing
setting that would affect all lines drawn. But as it is possible to
set this preference to custom plot elements, this is what I would
always prefer. Default setting looks too blurry for horizontal and
vertical lines.
Cheers
On Sat, Jun 29, 2013 at 11:49 PM, Paul Hobson <pmh...@gm...> wrote:
> You need to thin out the default line widths in your matplotlibrc file.
>
> Something like:
> import matplotlib
> matplotlib.rcParams['axes.linewidth'] = 0.5
> matplotlib.rcParams['lines.linewidth'] = 0.5
>
> ...if you don't want to edit your matplotlibrc file.
>
> Hope that helps,
> -paul
From: Paul H. <pmh...@gm...> - 2013年06月29日 21:49:37
You need to thin out the default line widths in your matplotlibrc file.
Something like:
import matplotlib
matplotlib.rcParams['axes.linewidth'] = 0.5
matplotlib.rcParams['lines.linewidth'] = 0.5
...if you don't want to edit your matplotlibrc file.
Hope that helps,
-paul
On Sat, Jun 29, 2013 at 10:48 AM, klo uo <kl...@gm...> wrote:
> This code:
>
> ========================================
> import matplotlib.pyplot as plt
>
> plt.plot([1,2,5,3,4], label='line')
> plt.legend()
> plt.show()
> ========================================
>
> shows this image: http://i.imgur.com/KMPywSp.png
>
> I want axis and legend box with 1px line, like this:
> http://i.imgur.com/Qmb4e6C.png but can't find any pointers except
> turning anti-aliasing off for all plot lines, which is not what I
> want.
>
> Is this anyhow possible?
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Benjamin R. <ben...@ou...> - 2013年06月29日 21:17:08
This kind of sounds like stack plots, but I am not quite sure.
Cheers!
Ben Root
On Jun 29, 2013 1:45 AM, "mdekauwe" <mde...@gm...> wrote:
> Hi,
>
> I am plotting overlapping bars in a bar chart. In some places one bar
> overlaps the other so I would like to draw a horizontal line to show where
> the underlying bar extends to. My plots are postscripts so I can't use
> alpha. The only way I could come up with involves me figuring out by trial
> and error where each bar starts, for example:
>
> bar_width = 0.068
> xmin_line = 0.198
> xmax_line = xmin_line+bar_width
> plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2,
> color="b")
>
> Is there a way I can work out where each bar starts and how wide it is? I
> tried ax.get_xticks, but these don't match with the above function which
> only seems to be a fraction of 0 - 1.
>
> thanks,
>
> Martin
>
>
>
>
> --
> View this message in context:
> http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html
> Sent from the matplotlib - users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: klo uo <kl...@gm...> - 2013年06月29日 17:49:06
This code:
========================================
import matplotlib.pyplot as plt
plt.plot([1,2,5,3,4], label='line')
plt.legend()
plt.show()
========================================
shows this image: http://i.imgur.com/KMPywSp.png
I want axis and legend box with 1px line, like this:
http://i.imgur.com/Qmb4e6C.png but can't find any pointers except
turning anti-aliasing off for all plot lines, which is not what I
want.
Is this anyhow possible?
From: mdekauwe <mde...@gm...> - 2013年06月29日 06:44:06
Hi,
I am plotting overlapping bars in a bar chart. In some places one bar
overlaps the other so I would like to draw a horizontal line to show where
the underlying bar extends to. My plots are postscripts so I can't use
alpha. The only way I could come up with involves me figuring out by trial
and error where each bar starts, for example:
bar_width = 0.068
xmin_line = 0.198
xmax_line = xmin_line+bar_width
plt.axhline(y=data_biomass[2], xmin=xmin_line, xmax=xmax_line, linewidth=2,
color="b")
Is there a way I can work out where each bar starts and how wide it is? I
tried ax.get_xticks, but these don't match with the above function which
only seems to be a fraction of 0 - 1.
thanks,
Martin
 
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/drawing-horizontal-line-on-bar-chart-tp41333.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Michael D. <md...@st...> - 2013年06月28日 17:07:51
For those not in Austin who are interested in following along with the 
matplotlib sprint at Scipy, feel free to visit here:
https://etherpad.mozilla.org/MatplotlibSprint
Mike
From: Sudheer J. <sud...@ya...> - 2013年06月28日 03:53:34
 Dear experts,
           I have been making some scripts to do some routine plotting 
 of model results with ipython qtconsole --colors=linux --pylab=inline mode for 
 fine tuning and then used the same script for running from command line ipython 
 alt_hyc_trak.py, the results in plot gets messed up 
 It appears the setting I did by using below commands are different for inline 
 mode and ipython.
 
 plt.subplots_adjust(hspace = -.15,wspace=.1) 
 
 
Is there a way to set the properties of plot acceptable for both.
I am attaching both figures here.
https://www.dropbox.com/s/heeadhkf9u2czns/ipython_cmdline.png
https://www.dropbox.com/s/5hsm6yver152h11/inline_mode.png
 with best regards,
 Sudheer
 
 ***************************************************************
 Sudheer Joseph 
 Indian National Centre for Ocean Information Services
 Ministry of Earth Sciences, Govt. of India
 POST BOX NO: 21, IDA Jeedeemetla P.O.
 Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
 Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
 Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
 E-mail:sjo...@gm...;sud...@ya...
 Web- http://oppamthadathil.tripod.com
 *************************************************************** 
From: Ryan N. <rne...@gm...> - 2013年06月27日 19:14:50
Neal,
I like to use partially transparent rectangles, such as axhspan and 
axvspan. Some people are not so great with colors, so I try to minimize 
line color changes.
If you were going to change line colors, I would do something to the 
line style to highlight the difference as well. Below is a little test.
Ryan
### Code ###
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 1000)
y = np.sin(x)
plt.plot(x, y, 'k-', lw=0.5)
plt.axvspan(0.2, 0.4, color='k', alpha=0.2)
mask = (x > 2.5) & (x < 3.0)
plt.plot(x[mask], y[mask], 'r-', lw=2.5)
plt.show()
###########
On 6/27/2013 9:50 AM, Neal Becker wrote:
> I have a line plot and I'd like to highlight certain segments of it. I think
> maybe drawing some segments in a different color might be a good visual clue.
> Any suggestion how to approach this?
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Neal B. <ndb...@gm...> - 2013年06月27日 13:50:24
I have a line plot and I'd like to highlight certain segments of it. I think 
maybe drawing some segments in a different color might be a good visual clue. 
Any suggestion how to approach this?
From: Benjamin R. <ben...@ou...> - 2013年06月26日 13:34:17
I have done something slightly different that works more generally. I am
trying to recall it from memory, so some details may be wrong.
Essentially, do the interpolation you want on a filled version of the
masked array (filling with a value that makes sense for your data). Then,
do the same interpolation on the mask, and cast the mask back as booleans.
Finally, build the output masked array by combining the two together with
one of the constructors.
Cheers!
Ben Root
On Jun 26, 2013 7:22 AM, "Jeff Whitaker" <jef...@no...>
wrote:
> Goodman, Alexander (398J-Affiliate) <ale...@jp...>
> June 24, 2013 6:27 PM
> Hi Jeff,
>
> Thanks for the quick reply. However I am a little lost with your suggested
> solution. The issue here is that if datain is a masked array, dataout will
> not be a masked array when order=3 is used unless masked=True is set, but
> this just results in none of the elements (besides those outside the domain
> of xin and yin) being masked. So are you saying to try setting the mask to
> what it would be after running interp() with order=0? I would appreciate a
> more concrete example.
>
> Thanks,
> Alex
>
>
> Alex: After pondering this a bit more, I don't think you can use order=3
> with masked arrays. Any reason why you can't using a combo of bilinear and
> nearest neighbor as I described in my previous email?
>
> -Jeff
>
>
>
>
> Goodman, Alexander (398J-Affiliate) <ale...@jp...>
> June 24, 2013 4:30 PM
> Just something I thought I should add to this, but would the following
> code seem like a reasonable workaround? Basically, since map_coordinates()
> cannot handle mask arrays, I thought that perhaps passing in the actual
> mask itself to interp() with order=3 may produce close to reasonable
> results, eg:
>
> dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3)
> maskin = datain.mask.astype(int)
> maskout = interp(datain.mask, xin, yin, xout, yout, order=3)
> dataout.mask = dataout.mask | maskout
>
> Thanks,
> Alex
>
>
> ------------------------------
>
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
From: Jeff W. <jef...@no...> - 2013年06月26日 12:20:05
> Goodman, Alexander (398J-Affiliate) 
> <mailto:ale...@jp...>
> June 24, 2013 6:27 PM
> Hi Jeff,
>
> Thanks for the quick reply. However I am a little lost with your 
> suggested solution. The issue here is that if datain is a masked 
> array, dataout will not be a masked array when order=3 is used unless 
> masked=True is set, but this just results in none of the elements 
> (besides those outside the domain of xin and yin) being masked. So are 
> you saying to try setting the mask to what it would be after running 
> interp() with order=0? I would appreciate a more concrete example.
>
> Thanks,
> Alex
Alex: After pondering this a bit more, I don't think you can use 
order=3 with masked arrays. Any reason why you can't using a combo of 
bilinear and nearest neighbor as I described in my previous email?
-Jeff
>
>
>
> Goodman, Alexander (398J-Affiliate) 
> <mailto:ale...@jp...>
> June 24, 2013 4:30 PM
> Just something I thought I should add to this, but would the following 
> code seem like a reasonable workaround? Basically, since 
> map_coordinates() cannot handle mask arrays, I thought that perhaps 
> passing in the actual mask itself to interp() with order=3 may produce 
> close to reasonable results, eg:
>
> dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3)
> maskin = datain.mask.astype(int)
> maskout = interp(datain.mask, xin, yin, xout, yout, order=3)
> dataout.mask = dataout.mask | maskout
>
> Thanks,
> Alex
>
>
> ------------------------------------------------------------------------
From: Michiel de H. <mjl...@ya...> - 2013年06月25日 14:11:27
Hi Thomas,
As explained in this issue:
https://github.com/matplotlib/matplotlib/issues/166
draw_artist does not work because it is being called from outside the event loop (or, to be exact, because draw_artist will only work if it is called from inside the drawing callback function that is called by the event loop). On some backends, you may get away with calling draw_artist from outside the event loop. However, this suggests a problem in the code design (for comparison, see this issue
https://github.com/matplotlib/matplotlib/issues/531
on the animation code).
As far as I know, the matplotlib documentation does not advertise the use of draw_artist, and there is no guarantee that it will work on all backends. If you can redesign your code such that draw_artist is called from inside the event loop, it should work OK on all backends. (though my first bet would also be to look at draw_idle).
Best,
-Michiel.
________________________________
 From: Thomas Robitaille <tho...@gm...>
To: Michael Droettboom <md...@st...> 
Cc: mat...@li... 
Sent: Tuesday, June 25, 2013 9:45 PM
Subject: Re: [Matplotlib-users] Making an interactive plot faster
 
Hi Mike,
Thanks for the suggestion - however, this doesn't change the FPS. From
my experiments so far, it seems using draw_artist would be the best
bet, but any ideas why it doesn't work with the MacOS X backend?
https://github.com/matplotlib/matplotlib/issues/166
Cheers,
Tom
On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote:
> Have you tried using "draw_idle"? That will schedule the draw for the
> next time the event loop is idle.
>
> Mike
>
> On 06/24/2013 07:39 AM, Thomas Robitaille wrote:
>> Hi everyone,
>>
>> The following shows an example of a simple data viewer which includes
>> a slider, a bitmap, and a scatter plot:
>>
>> """
>> import numpy as np
>> from matplotlib import pyplot as plt
>> from matplotlib.widgets import Slider
>>
>> fig = plt.figure()
>>
>> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
>> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
>>
>> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
>> ax2.set_xticklabels("")
>> ax2.set_yticklabels("")
>> slider = Slider(ax2, "", 0., 1.)
>>
>> def update_vmax(value):
>>   image.set_clim(0., value)
>>   fig.canvas.draw()
>>
>> slider.on_changed(update_vmax)
>>
>> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
>> x = np.random.random(10000)
>> y = np.random.random(10000)
>> ax3.scatter(x, y)
>>
>> plt.show()
>> """
>>
>> When moving the slider, the vmax of the image changes, but I get very
>> slow frame rates (~2/sec) on my computer with the MacOS X backend. I
>> was wondering whether people here have any tips on speeding things up?
>>
>> As far as I can figure out, this is slow because both the slider and
>> the callback function call ``fig.canvas.draw``. Slider calls it before
>> the callback function, so I definitely need to draw things in that
>> function, but I can get a factor of 2x speedup by doing
>>
>> slider.drawon = False
>>
>> which prevents ``canvas.draw()`` being called twice. However, this is
>> still much too slow, so I started to look into using ``draw_artist``
>> to only update elements that need updating, but this requires
>> partially re-implementing the Slider class.
>>
>> As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
>>
>> https://github.com/matplotlib/matplotlib/issues/166
>>
>> but I'm willing to have a solution that wouldn't work on this backend
>> if it was the only way.
>>
>> Does anyone have a clean solution to increasing the frame rate of this example?
>>
>> Thanks!
>> Tom
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by Windows:
>>
>> Build for Windows Store.
>>
>> http://p.sf.net/sfu/windows-dev2dev
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users 
From: Thomas R. <tho...@gm...> - 2013年06月25日 12:46:09
Hi Mike,
Thanks for the suggestion - however, this doesn't change the FPS. From
my experiments so far, it seems using draw_artist would be the best
bet, but any ideas why it doesn't work with the MacOS X backend?
https://github.com/matplotlib/matplotlib/issues/166
Cheers,
Tom
On 24 June 2013 16:13, Michael Droettboom <md...@st...> wrote:
> Have you tried using "draw_idle"? That will schedule the draw for the
> next time the event loop is idle.
>
> Mike
>
> On 06/24/2013 07:39 AM, Thomas Robitaille wrote:
>> Hi everyone,
>>
>> The following shows an example of a simple data viewer which includes
>> a slider, a bitmap, and a scatter plot:
>>
>> """
>> import numpy as np
>> from matplotlib import pyplot as plt
>> from matplotlib.widgets import Slider
>>
>> fig = plt.figure()
>>
>> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
>> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
>>
>> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
>> ax2.set_xticklabels("")
>> ax2.set_yticklabels("")
>> slider = Slider(ax2, "", 0., 1.)
>>
>> def update_vmax(value):
>> image.set_clim(0., value)
>> fig.canvas.draw()
>>
>> slider.on_changed(update_vmax)
>>
>> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
>> x = np.random.random(10000)
>> y = np.random.random(10000)
>> ax3.scatter(x, y)
>>
>> plt.show()
>> """
>>
>> When moving the slider, the vmax of the image changes, but I get very
>> slow frame rates (~2/sec) on my computer with the MacOS X backend. I
>> was wondering whether people here have any tips on speeding things up?
>>
>> As far as I can figure out, this is slow because both the slider and
>> the callback function call ``fig.canvas.draw``. Slider calls it before
>> the callback function, so I definitely need to draw things in that
>> function, but I can get a factor of 2x speedup by doing
>>
>> slider.drawon = False
>>
>> which prevents ``canvas.draw()`` being called twice. However, this is
>> still much too slow, so I started to look into using ``draw_artist``
>> to only update elements that need updating, but this requires
>> partially re-implementing the Slider class.
>>
>> As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
>>
>> https://github.com/matplotlib/matplotlib/issues/166
>>
>> but I'm willing to have a solution that wouldn't work on this backend
>> if it was the only way.
>>
>> Does anyone have a clean solution to increasing the frame rate of this example?
>>
>> Thanks!
>> Tom
>>
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by Windows:
>>
>> Build for Windows Store.
>>
>> http://p.sf.net/sfu/windows-dev2dev
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Jeff W. <jef...@no...> - 2013年06月25日 00:09:42
> Goodman, Alexander (398J-Affiliate) 
> <mailto:ale...@jp...>
> June 24, 2013 4:30 PM
> Just something I thought I should add to this, but would the following 
> code seem like a reasonable workaround? Basically, since 
> map_coordinates() cannot handle mask arrays, I thought that perhaps 
> passing in the actual mask itself to interp() with order=3 may produce 
> close to reasonable results, eg:
>
> dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3)
> maskin = datain.mask.astype(int)
> maskout = interp(datain.mask, xin, yin, xout, yout, order=3)
> dataout.mask = dataout.mask | maskout
>
> Thanks,
> Alex
>
>
> ------------------------------------------------------------------------
Alex: The basemap.interp docstring includes a note describing a trick I 
often use with masked arrays:
Note
If datain is a masked array and order=1 (bilinear interpolation) is 
used, elements of dataout will be masked if any of the four surrounding 
points in datain are masked. To avoid this, do the interpolation in two 
passes, first with order=1 (producing dataout1), then with order=0 
(producing dataout2). Then replace all the masked values in dataout1 
with the corresponding elements in dataout2 (using numpy.where). This 
effectively uses nearest neighbor interpolation if any of the four 
surrounding points in datain are masked, and bilinear interpolation 
otherwise.
I suppose the same trick might work with order=3, but I have never tried it.
-Jeff
From: Michael D. <md...@st...> - 2013年06月24日 14:15:40
Have you tried using "draw_idle"? That will schedule the draw for the 
next time the event loop is idle.
Mike
On 06/24/2013 07:39 AM, Thomas Robitaille wrote:
> Hi everyone,
>
> The following shows an example of a simple data viewer which includes
> a slider, a bitmap, and a scatter plot:
>
> """
> import numpy as np
> from matplotlib import pyplot as plt
> from matplotlib.widgets import Slider
>
> fig = plt.figure()
>
> ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
> image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
>
> ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
> ax2.set_xticklabels("")
> ax2.set_yticklabels("")
> slider = Slider(ax2, "", 0., 1.)
>
> def update_vmax(value):
> image.set_clim(0., value)
> fig.canvas.draw()
>
> slider.on_changed(update_vmax)
>
> ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
> x = np.random.random(10000)
> y = np.random.random(10000)
> ax3.scatter(x, y)
>
> plt.show()
> """
>
> When moving the slider, the vmax of the image changes, but I get very
> slow frame rates (~2/sec) on my computer with the MacOS X backend. I
> was wondering whether people here have any tips on speeding things up?
>
> As far as I can figure out, this is slow because both the slider and
> the callback function call ``fig.canvas.draw``. Slider calls it before
> the callback function, so I definitely need to draw things in that
> function, but I can get a factor of 2x speedup by doing
>
> slider.drawon = False
>
> which prevents ``canvas.draw()`` being called twice. However, this is
> still much too slow, so I started to look into using ``draw_artist``
> to only update elements that need updating, but this requires
> partially re-implementing the Slider class.
>
> As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
>
> https://github.com/matplotlib/matplotlib/issues/166
>
> but I'm willing to have a solution that wouldn't work on this backend
> if it was the only way.
>
> Does anyone have a clean solution to increasing the frame rate of this example?
>
> Thanks!
> Tom
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Thomas R. <tho...@gm...> - 2013年06月24日 11:40:04
Hi everyone,
The following shows an example of a simple data viewer which includes
a slider, a bitmap, and a scatter plot:
"""
import numpy as np
from matplotlib import pyplot as plt
from matplotlib.widgets import Slider
fig = plt.figure()
ax1 = fig.add_axes([0.1, 0.1, 0.4, 0.7])
image = ax1.imshow(np.random.random((512, 512)), vmin=0., vmax=1.)
ax2 = fig.add_axes([0.1, 0.9, 0.85, 0.05])
ax2.set_xticklabels("")
ax2.set_yticklabels("")
slider = Slider(ax2, "", 0., 1.)
def update_vmax(value):
 image.set_clim(0., value)
 fig.canvas.draw()
slider.on_changed(update_vmax)
ax3 = fig.add_axes([0.55, 0.1, 0.4, 0.7])
x = np.random.random(10000)
y = np.random.random(10000)
ax3.scatter(x, y)
plt.show()
"""
When moving the slider, the vmax of the image changes, but I get very
slow frame rates (~2/sec) on my computer with the MacOS X backend. I
was wondering whether people here have any tips on speeding things up?
As far as I can figure out, this is slow because both the slider and
the callback function call ``fig.canvas.draw``. Slider calls it before
the callback function, so I definitely need to draw things in that
function, but I can get a factor of 2x speedup by doing
slider.drawon = False
which prevents ``canvas.draw()`` being called twice. However, this is
still much too slow, so I started to look into using ``draw_artist``
to only update elements that need updating, but this requires
partially re-implementing the Slider class.
As a side note, using ``draw_artist`` also does not work on the MacOS X backend:
https://github.com/matplotlib/matplotlib/issues/166
but I'm willing to have a solution that wouldn't work on this backend
if it was the only way.
Does anyone have a clean solution to increasing the frame rate of this example?
Thanks!
Tom
From: psb1967 <ps...@ho...> - 2013年06月23日 10:29:15
Hi,
I am new to programming and this is my first major work.
I wish to add Bollinger Bands and Hull Moving Average(HMA) in
finance_work2.py. Need your guidance.
Installation details:
Windows 7
Python 3.3.2
Matplotlib 1.2.1
Numpy 1.7.1
Ta-Lib
As it is I don't have any issues running the script however, adding BB and
HMA will complete my task.
Thanks in advance.
--
View this message in context: http://matplotlib.1069221.n5.nabble.com/To-add-Bollinger-Bands-in-finance-work2-py-tp41310.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Goodman, A. (398J-Affiliate) <go...@jp...> - 2013年06月22日 05:47:53
Hi,
I am trying to use basemap's interp function for regridding purposes, and I
need to be able to handle masked arrays. Using bilinear or nearest-neighbor
interpolation (order=1, order=0), it seems to work fine for masked arrays.
However, none of the elements get masked after using cubic spline
interpolation (order=3). I am assuming that the reason for this is due to
the limitations of scipy.ndimage.map_coordinates(), which gets called when
order=3. Are there currently any workarounds for this?
Thanks,
Alex
-- 
Alex Goodman
From: Benjamin R. <ben...@ou...> - 2013年06月21日 16:00:12
Looks like you found a bug. It works properly with ax.plot(), but not for
scatter(). Strange... As for contour(), it doesn't get a legend entry in
the 2D case, so I wouldn't expect it to get a legend entry in the 3D case
either.
Could you file a bug report on github for this, please?
Cheers!
Ben Root
From: Thomas G. <Tho...@th...> - 2013年06月21日 15:23:04
Hi list,
i am plotting some data using scatter and contour method while
using projection 3d. Now i want to label these two plots, but i
get the following warning:
 "
 UserWarning: No labeled objects found. Use label='...'
 kwarg on individual plots. warnings.warn("No labeled
 objects found. "
 "
Can someone help me get the labelling working, or isn't that
possible while using 3d plots?
Thank you for your help,
Tom
The code i am using is this one:
# Start code
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.arange(1,10,1)
y = np.arange(10,20,1)
xx,yy = np.meshgrid(x,y)
z = .4*xx + 12*yy + .2*xx*yy + .32*xx**2*yy + \
 .234*xx*yy**2 + .34*xx**2*yy**2
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(xx,yy,z, label='1st label')
ax.contour(xx,yy,z, label='2nd label')
ax.legend()
ax.set_xlabel('TE')
ax.set_ylabel('TC')
ax.set_zlabel('Q')
plt.show()
# End code
From: Michael R. <raw...@ya...> - 2013年06月20日 15:48:34
 http://bananajoestampabay.com/wp-content/themes/toolbox/youtube.php?cftzwj892mmzinhs.htm 
rawlins02
Michael Rawlins
*******************
A man of principles. None of them interesting. -- John Dobbin
 
From: Oliver <oli...@gm...> - 2013年06月18日 23:54:57
I'm running the following on mpl 1.2.1:
 import matplotlib.pyplot as plt
 import numpy as np
 A = np.arange(1020*1368*3, dtype=np.uint8).reshape(1020, 1368, 3)
 plt.imsave('dimcheck.png', A)
The OS tells me the picture has 1019x1368px. So one row is missing. It
works fine for e.g. 10x10x3, I'm not yet sure why it does this for this
specific dimension. PIL's save method works fine, as does pypng.
I can't check the behaviour on my other machine for now, because that one
has mpl 1.1.1 and plt.imsave apparently did not yet support 24-bit RGB
writing at that time (in 1.1.1: TypeError: from_bounds() takes exactly 4
arguments (5 given)).
Is this a bug or is there something wrong with my setup?
From: Sudheer J. <sud...@ya...> - 2013年06月15日 12:25:46
Thank you,
     This is some thing new, which I learned.
with best regards,
Sudheer
 
***************************************************************
Sudheer Joseph 
Indian National Centre for Ocean Information Services
Ministry of Earth Sciences, Govt. of India
POST BOX NO: 21, IDA Jeedeemetla P.O.
Via Pragathi Nagar,Kukatpally, Hyderabad; Pin:5000 55
Tel:+91-40-23886047(O),Fax:+91-40-23895011(O),
Tel:+91-40-23044600(R),Tel:+91-40-9440832534(Mobile)
E-mail:sjo...@gm...;sud...@ya...
Web- http://oppamthadathil.tripod.com
***************************************************************
>________________________________
> From: Paul Hobson <pmh...@gm...>
>To: Sudheer Joseph <sud...@ya...> 
>Cc: "mat...@li..." <mat...@li...> 
>Sent: Friday, 14 June 2013 9:05 PM
>Subject: Re: [Matplotlib-users] savefig
> 
>
>
>On Thu, Jun 13, 2013 at 11:40 PM, Sudheer Joseph <sud...@ya...> wrote:
>
>Thank you,
>>I don't see a way other than starting in normal mode as the moment I type plot command it get displayed and I don't need to do a show command. 
>> 
>
>
>In the qtconsole, you can enter multi-line mode with crtl+enter.
>
>
>
>
>
From: Michael M. F. <mic...@gm...> - 2013年06月14日 20:24:47
I am trying to rasterize the fancy arrows drawn by the lovely streamplot() function, but am running into major problems since the arrows are drawn at a very late stage (to preserve their aspect ratio).
--------------
from pylab import *
fig = figure(figsize=(10,5))
x = linspace(-1,1,10)[:, None]
x = linspace(-1,1,10)[:, None]
y = x.T
# Why don't the first two work... it is annoying. Is it a "bug" or a feature?
#s = streamplot(x, y, x+0*y, y+0*x)
#s = streamplot(x.flat, y.flat, x+0*y, y+0*x)
s = streamplot(x.ravel(), y.ravel(), x+0*y, y+0*x,
 density=0.5, arrowstyle='->', arrowsize=2.0)
setp(s.lines, rasterized=True) # This works fine.
setp(s.arrows, rasterized=True) # This has no effect (bug?)
setp(s.arrows, visible=False) # This also has no effect (bug?)
# Let's get the patches instead
ax = gca()
#setp(ax.patches, rasterized=True) # The FancyArrowPatchs are here
# This does not rasterize the arrows, giving multiple warnings:
# UserWarning: Rasterization of 'FancyArrowPatch(...)' will be ignored
savefig('tst1.pdf') 
# How about rasterizing the whole axis
ax.set_rasterized(True)
savefig('tst2.pdf') # Weird results! (Bug?) Also rasterizes labels.
savefig('tst.png') # This works, except that labels rasterized too.
------------
The problem appears to be that FancyArrowPatch objects are transformed late in the game (so that the arrow-heads etc. are in proper proportions), and rasterization seems to need to occur at an earlier stage. The arrows are in the axes, so there is no upper-level container to rasterize them but not the axes labels etc. Rasterizing the axes (tst2.pdf) does rasterize the arrows, but also the labels, and does something really wonky with the plot (the streamlines and axis frame are completely unaligned... most definitely a bug, but I need to track down exactly where this broke or if it has been fixed).
Saving to png works, but also rasterizes the labels and ticks which I want to avoid.
Is there a robust way to convert the FancyArrowPatch objects to something not-fancy at some point once I have fixed the size of the axis, figure etc. so that I can then rasterize the appropriate elements only? Are the other behaviours noted in the comments bugs (in which case I will open some incidents)?
Thanks,
Michael.

Showing results of 89

1 2 3 4 > >> (Page 1 of 4)
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /