You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
(12) |
Sep
(12) |
Oct
(56) |
Nov
(65) |
Dec
(37) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(59) |
Feb
(78) |
Mar
(153) |
Apr
(205) |
May
(184) |
Jun
(123) |
Jul
(171) |
Aug
(156) |
Sep
(190) |
Oct
(120) |
Nov
(154) |
Dec
(223) |
| 2005 |
Jan
(184) |
Feb
(267) |
Mar
(214) |
Apr
(286) |
May
(320) |
Jun
(299) |
Jul
(348) |
Aug
(283) |
Sep
(355) |
Oct
(293) |
Nov
(232) |
Dec
(203) |
| 2006 |
Jan
(352) |
Feb
(358) |
Mar
(403) |
Apr
(313) |
May
(165) |
Jun
(281) |
Jul
(316) |
Aug
(228) |
Sep
(279) |
Oct
(243) |
Nov
(315) |
Dec
(345) |
| 2007 |
Jan
(260) |
Feb
(323) |
Mar
(340) |
Apr
(319) |
May
(290) |
Jun
(296) |
Jul
(221) |
Aug
(292) |
Sep
(242) |
Oct
(248) |
Nov
(242) |
Dec
(332) |
| 2008 |
Jan
(312) |
Feb
(359) |
Mar
(454) |
Apr
(287) |
May
(340) |
Jun
(450) |
Jul
(403) |
Aug
(324) |
Sep
(349) |
Oct
(385) |
Nov
(363) |
Dec
(437) |
| 2009 |
Jan
(500) |
Feb
(301) |
Mar
(409) |
Apr
(486) |
May
(545) |
Jun
(391) |
Jul
(518) |
Aug
(497) |
Sep
(492) |
Oct
(429) |
Nov
(357) |
Dec
(310) |
| 2010 |
Jan
(371) |
Feb
(657) |
Mar
(519) |
Apr
(432) |
May
(312) |
Jun
(416) |
Jul
(477) |
Aug
(386) |
Sep
(419) |
Oct
(435) |
Nov
(320) |
Dec
(202) |
| 2011 |
Jan
(321) |
Feb
(413) |
Mar
(299) |
Apr
(215) |
May
(284) |
Jun
(203) |
Jul
(207) |
Aug
(314) |
Sep
(321) |
Oct
(259) |
Nov
(347) |
Dec
(209) |
| 2012 |
Jan
(322) |
Feb
(414) |
Mar
(377) |
Apr
(179) |
May
(173) |
Jun
(234) |
Jul
(295) |
Aug
(239) |
Sep
(276) |
Oct
(355) |
Nov
(144) |
Dec
(108) |
| 2013 |
Jan
(170) |
Feb
(89) |
Mar
(204) |
Apr
(133) |
May
(142) |
Jun
(89) |
Jul
(160) |
Aug
(180) |
Sep
(69) |
Oct
(136) |
Nov
(83) |
Dec
(32) |
| 2014 |
Jan
(71) |
Feb
(90) |
Mar
(161) |
Apr
(117) |
May
(78) |
Jun
(94) |
Jul
(60) |
Aug
(83) |
Sep
(102) |
Oct
(132) |
Nov
(154) |
Dec
(96) |
| 2015 |
Jan
(45) |
Feb
(138) |
Mar
(176) |
Apr
(132) |
May
(119) |
Jun
(124) |
Jul
(77) |
Aug
(31) |
Sep
(34) |
Oct
(22) |
Nov
(23) |
Dec
(9) |
| 2016 |
Jan
(26) |
Feb
(17) |
Mar
(10) |
Apr
(8) |
May
(4) |
Jun
(8) |
Jul
(6) |
Aug
(5) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
| 2017 |
Jan
(5) |
Feb
(7) |
Mar
(1) |
Apr
(5) |
May
|
Jun
(3) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Sterling S. <sm...@fu...> - 2013-04-26 15:31:14
|
Notwithstanding these probably work (I haven't tried), my gut reaction would have been to color the edges the same as the face, although I don't know if you can give set_edgecolor the same cmap(colors_norm) argument. -Sterling On Apr 26, 2013, at 5:30AM, Ryan Nelson wrote: > Hackstein, > > Francesco's suggestion works for me. > col.set_edgecolor( 'none' ) > > You can also set the linewidth to be 0. > col.set_linewidth( 0 ) |
|
From: Michael D. <md...@st...> - 2013-04-26 12:45:07
|
On 04/26/2013 02:57 AM, Werner F. Bruhin wrote: > Hi, > > Anyone can provide some info on what "agg.buffer_rgba" returns and maybe > even some suggestion on how to resolve this issue in the wxagg backend. It returns a Python buffer object on Python 2, though on Python 3 it is a memoryview, since buffer was deprecated. Perhaps wx is also doing something different depending on the version of Python. > > Thanks > Werner > > P.S. > The archive on Sourceforge for this list stops in June 2012, noticed > this as I wanted to check if there are answers I didn't get for some reason. > http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users Yeah -- I've reported that to sourceforge many times. Not sure what the issue is. Personally, I use gmane when I need to search the archive and it works rather well. Mike > > On 20/04/2013 08:58, Werner F. Bruhin wrote: >> Hi, >> >> I am trying to get matplotlib 1.2.0 to work with wxPython Phoenix - will >> provide a patch when it is working. >> >> Made the changes to backend_wx* for things like EmptyImage/EmptyBitmap >> and Toolbar but I am stuck on the following. >> >> if bbox is None: >> # agg => rgba buffer -> bitmap >> if 'phoenix' in wx.PlatformInfo: >> return wx.Bitmap.FromBufferRGBA(int(agg.width), >> int(agg.height), >> memoryview(agg.buffer_rgba())) >> else: >> return wx.BitmapFromBufferRGBA(int(agg.width), int(agg.height), >> agg.buffer_rgba()) >> else: >> # agg => rgba buffer -> bitmap => clipped bitmap >> return _WX28_clipped_agg_as_bitmap(agg, bbox) >> >> TypeError: cannot make memory view because object does not have the >> buffer interface >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in >> <module> >> demo() >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo >> app.MainLoop() >> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", >> line 1841, in MainLoop >> rv = wx.PyApp.MainLoop(self) >> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", >> line 1209, in _onPaint >> self.draw(drawDC=drawDC) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 61, in draw >> self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 173, in _convert_agg_to_wx_bitmap >> memoryview(agg.buffer_rgba())) >> >> I tried using "memoryview" based on a suggestion by Robin Dunn, and >> based on the following info I see in the debugger that should work no? >> >> agg.buffer_rgba() >> <read-write buffer ptr 0x05400638, size 229200 at 0x055FC680> >> type(agg.buffer_rgba()) >> <type 'buffer'> >> agg >> <matplotlib.backends.backend_agg.RendererAgg instance at 0x04BA0670> >> >> If I don't use "memoryview" (which would probably be preferred) I get >> the following exception. >> >> Can someone help us figure this one out. >> >> Thanks >> Werner >> >> >> TypeError: Bitmap.FromBufferRGBA(): argument 3 has unexpected type 'buffer' >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in >> <module> >> demo() >> File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo >> app.MainLoop() >> File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", >> line 1841, in MainLoop >> rv = wx.PyApp.MainLoop(self) >> File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", >> line 1209, in _onPaint >> self.draw(drawDC=drawDC) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 61, in draw >> self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) >> File >> "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", >> line 173, in _convert_agg_to_wx_bitmap >> agg.buffer_rgba()) >> >> ------------------------------------------------------------------------------ >> Precog is a next-generation analytics platform capable of advanced >> analytics on semi-structured data. The platform includes APIs for building >> apps and a phenomenal toolset for data science. Developers can use >> our toolset for easy data analysis & visualization. Get a free account! >> http://www2.precog.com/precogplatform/slashdotnewsletter >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users >> >> > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Ryan N. <rne...@gm...> - 2013-04-26 12:30:52
|
Hackstein,
Francesco's suggestion works for me.
col.set_edgecolor( 'none' )
You can also set the linewidth to be 0.
col.set_linewidth( 0 )
Colorbars in these cases can be more painful than you might like. You
need to make a mappable object and pass that into a figure.colorbar
call. Rather than try to explain it in detail, I've just pasted a
modified version of my first script that should do what you need.
Glad we're getting closer.
Ryan
########################
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.collections import PatchCollection
n = 100
# Get your xy data points, which are the centers of the rectangles.
xy = np.random.rand(n,2)
# Set a fixed height
height = 0.02
# The variable widths of the rectangles
widths = np.random.rand(n)*0.1
# Get a color map and make some colors
cmap = plt.cm.hsv
colors = np.random.rand(n)*10.
# Make a normalized array of colors
colors_norm = colors/colors.max()
# Here's where you have to make a ScalarMappable with the colormap
mappable = plt.cm.ScalarMappable(cmap=cmap)
# Give it your non-normalized color data
mappable.set_array(colors)
rects = []
for p, w in zip(xy, widths):
xpos = p[0] - w/2 # The x position will be half the width from the
center
ypos = p[1] - height/2 # same for the y position, but with height
rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
rects.append(rect) # Add the rectangle patch to our list
# Create a collection from the rectangles
col = PatchCollection(rects)
# set the alpha for all rectangles
col.set_alpha(0.3)
# Set the colors using the colormap
col.set_facecolor( cmap(colors_norm) )
# No lines
col.set_linewidth( 0 )
#col.set_edgecolor( 'none' )
# Make a figure and add the collection to the axis.
fig = plt.figure()
ax = fig.add_subplot(111)
ax.add_collection(col)
# Add your ScalarMappable to a figure colorbar
fig.colorbar(mappable)
plt.show()
########################
On 4/26/2013 7:15 AM, Hackstein wrote:
> Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems:
> The markers have a black edges, that I cannot get rid of. I've tried
>
> rect = Rectangle(..., ec=None)
>
> and also
>
> col.set=edgecolor(None)
>
> and 'None', respectively, both with no effect whatsoever.
>
> The second problem is, that I cannot get the colorbar to work.
> I tried
>
> sc = ax.add_collection(col)
> plt.colorbar(sc)
>
> and
>
> plt.colobar(col)
>
> both do not work.
> Any Ideas how to fix those two issues?
>
> Thanks,
>
> -Hackstein
>
>
>> Message: 4
>> Date: Thu, 25 Apr 2013 19:44:23 -0400
>> From: Ryan Nelson <rne...@gm...>
>> Subject: Re: [Matplotlib-users] Individual custom markers and colorbar
>> To: mat...@li...
>> Message-ID: <517...@gm...>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Hackstein,
>>
>> Unfortunately, I'm not sure of an 'elegant' way to do what your asking
>> with a single call to scatter. Others may know a better way. However,
>> you can use rectangle patches and patch collections. (Requires a bit
>> more code than scatter but is ultimately more flexible.)
>>
>> I think the example below does what you need, but with random numbers.
>>
>> Hope it helps a little.
>>
>> Ryan
>>
>> #######################
>> import numpy as np
>> import matplotlib.pyplot as plt
>> from matplotlib.patches import Rectangle
>> from matplotlib.collections import PatchCollection
>>
>> n = 100
>>
>> # Get your xy data points, which are the centers of the rectangles.
>> xy = np.random.rand(n,2)
>>
>> # Set a fixed height
>> height = 0.02
>> # The variable widths of the rectangles
>> widths = np.random.rand(n)*0.1
>>
>> # Get a color map and color values (normalized between 0 and 1)
>> cmap = plt.cm.jet
>> colors = np.random.rand(n)
>>
>> rects = []
>> for p, w, c in zip(xy, widths, colors):
>> xpos = p[0] - w/2 # The x position will be half the width from the
>> center
>> ypos = p[1] - height/2 # same for the y position, but with height
>> rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
>> rects.append(rect) # Add the rectangle patch to our list
>>
>> # Create a collection from the rectangles
>> col = PatchCollection(rects)
>> # set the alpha for all rectangles
>> col.set_alpha(0.3)
>> # Set the colors using the colormap
>> col.set_facecolor( cmap(colors) )
>>
>> # Make a figure and add the collection to the axis.
>> ax = plt.subplot(111)
>> ax.add_collection(col)
>> plt.show()
>>
>> ###############################
>>
>>
>> On 4/24/2013 5:35 PM, Hackstein wrote:
>>> Hi all,
>>>
>>> I am trying to get a scatter plot using a colormap. Additionally, I
>>> need to define every marker for every data point individually -- each
>>> being a rectangle with fixed height but varying width as a function of
>>> the y-value. X and y being the data coordinates, z being a number to
>>> be color coded with the colormap.
>>>
>>> Ideally, I would like to create a list of width and height values for
>>> each data point and tell the scatter plot to use those.
>>>
>>> So far I got colormapped data with custom markers (simplified):
>>>
>>> [code]
>>>
>>> import numpy as np
>>>
>>> import matplotlib.pyplot as plt
>>>
>>> from pylab import *
>>>
>>> x = y = [1,2,3,4,5]
>>>
>>> z = [2,4,6,8,10]
>>>
>>> colors = cm.gnuplot2
>>>
>>> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
>>>
>>> fig = plt.figure(1, figsize=(14.40, 9.00))
>>>
>>> ax = fig.add_subplot(1,1,1)
>>>
>>> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
>>> verts=verts_vec, cmap=colors, alpha=1.)
>>>
>>> plt.colorbar(sc, orientation='horizontal')
>>>
>>> plt.savefig('test.png', dpi=200)
>>>
>>> plt.close(1)
>>>
>>> [/code]
>>>
>>> But I need to define a marker size for each point, and I also need to
>>> do that in axis scale values, not in points.
>>>
>>> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N
>>> being len(x), to define N individual markers.
>>>
>>> But when doing that I get the error that vertices.ndim==2.
>>>
>>> A less elegant way would be to plot every data point in an individual
>>> scatter plot function, using a for-loop iterating over all data
>>> points. Then, however, I see no way to apply a colormap and colorbar.
>>>
>>> What is the best way to accomplish that then?
>>>
>>> Thanks,
>>>
>>> -Hackstein
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Try New Relic Now & We'll Send You this Cool Shirt
>>> New Relic is the only SaaS-based application performance monitoring service
>>> that delivers powerful full stack analytics. Optimize and monitor your
>>> browser, app, & servers with just a few lines of code. Try New Relic
>>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
>>>
>>>
>>> _______________________________________________
>>> Matplotlib-users mailing list
>>> Mat...@li...
>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>> -------------- next part --------------
>> An HTML attachment was scrubbed...
>>
>> ------------------------------
>>
>> ------------------------------------------------------------------------------
>> Try New Relic Now & We'll Send You this Cool Shirt
>> New Relic is the only SaaS-based application performance monitoring service
>> that delivers powerful full stack analytics. Optimize and monitor your
>> browser, app, & servers with just a few lines of code. Try New Relic
>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
>>
>> ------------------------------
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>
>>
>> End of Matplotlib-users Digest, Vol 83, Issue 23
>> ************************************************
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: Hackstein <new...@gm...> - 2013-04-26 12:19:06
|
Thanks, Francesco, but I already tried for both and that doesn't work either.
Cheers,
Am 26.04.2013 um 14:07 schrieb Francesco Montesano <fra...@gm...>:
>
> Il giorno 26/apr/2013 13:16, "Hackstein" <new...@gm...> ha scritto:
> >
> > Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems:
> > The markers have a black edges, that I cannot get rid of. I've tried
> >
> > rect = Rectangle(..., ec=None)
> >
> > and also
> >
> > col.set=edgecolor(None)
>
> I think that you have to use the string 'none' instead of None type. The latter is used to use the default value for the variable (in you case black).
>
> cheers
> Francesco
> >
> > and 'None', respectively, both with no effect whatsoever.
> >
> > The second problem is, that I cannot get the colorbar to work.
> > I tried
> >
> > sc = ax.add_collection(col)
> > plt.colorbar(sc)
> >
> > and
> >
> > plt.colobar(col)
> >
> > both do not work.
> > Any Ideas how to fix those two issues?
> >
> > Thanks,
> >
> > -Hackstein
> >
> >
> > > Message: 4
> > > Date: Thu, 25 Apr 2013 19:44:23 -0400
> > > From: Ryan Nelson <rne...@gm...>
> > > Subject: Re: [Matplotlib-users] Individual custom markers and colorbar
> > > To: mat...@li...
> > > Message-ID: <517...@gm...>
> > > Content-Type: text/plain; charset="iso-8859-1"
> > >
> > > Hackstein,
> > >
> > > Unfortunately, I'm not sure of an 'elegant' way to do what your asking
> > > with a single call to scatter. Others may know a better way. However,
> > > you can use rectangle patches and patch collections. (Requires a bit
> > > more code than scatter but is ultimately more flexible.)
> > >
> > > I think the example below does what you need, but with random numbers.
> > >
> > > Hope it helps a little.
> > >
> > > Ryan
> > >
> > > #######################
> > > import numpy as np
> > > import matplotlib.pyplot as plt
> > > from matplotlib.patches import Rectangle
> > > from matplotlib.collections import PatchCollection
> > >
> > > n = 100
> > >
> > > # Get your xy data points, which are the centers of the rectangles.
> > > xy = np.random.rand(n,2)
> > >
> > > # Set a fixed height
> > > height = 0.02
> > > # The variable widths of the rectangles
> > > widths = np.random.rand(n)*0.1
> > >
> > > # Get a color map and color values (normalized between 0 and 1)
> > > cmap = plt.cm.jet
> > > colors = np.random.rand(n)
> > >
> > > rects = []
> > > for p, w, c in zip(xy, widths, colors):
> > > xpos = p[0] - w/2 # The x position will be half the width from the
> > > center
> > > ypos = p[1] - height/2 # same for the y position, but with height
> > > rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
> > > rects.append(rect) # Add the rectangle patch to our list
> > >
> > > # Create a collection from the rectangles
> > > col = PatchCollection(rects)
> > > # set the alpha for all rectangles
> > > col.set_alpha(0.3)
> > > # Set the colors using the colormap
> > > col.set_facecolor( cmap(colors) )
> > >
> > > # Make a figure and add the collection to the axis.
> > > ax = plt.subplot(111)
> > > ax.add_collection(col)
> > > plt.show()
> > >
> > > ###############################
> > >
> > >
> > > On 4/24/2013 5:35 PM, Hackstein wrote:
> > >>
> > >> Hi all,
> > >>
> > >> I am trying to get a scatter plot using a colormap. Additionally, I
> > >> need to define every marker for every data point individually -- each
> > >> being a rectangle with fixed height but varying width as a function of
> > >> the y-value. X and y being the data coordinates, z being a number to
> > >> be color coded with the colormap.
> > >>
> > >> Ideally, I would like to create a list of width and height values for
> > >> each data point and tell the scatter plot to use those.
> > >>
> > >> So far I got colormapped data with custom markers (simplified):
> > >>
> > >> [code]
> > >>
> > >> import numpy as np
> > >>
> > >> import matplotlib.pyplot as plt
> > >>
> > >> from pylab import *
> > >>
> > >> x = y = [1,2,3,4,5]
> > >>
> > >> z = [2,4,6,8,10]
> > >>
> > >> colors = cm.gnuplot2
> > >>
> > >> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
> > >>
> > >> fig = plt.figure(1, figsize=(14.40, 9.00))
> > >>
> > >> ax = fig.add_subplot(1,1,1)
> > >>
> > >> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
> > >> verts=verts_vec, cmap=colors, alpha=1.)
> > >>
> > >> plt.colorbar(sc, orientation='horizontal')
> > >>
> > >> plt.savefig('test.png', dpi=200)
> > >>
> > >> plt.close(1)
> > >>
> > >> [/code]
> > >>
> > >> But I need to define a marker size for each point, and I also need to
> > >> do that in axis scale values, not in points.
> > >>
> > >> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N
> > >> being len(x), to define N individual markers.
> > >>
> > >> But when doing that I get the error that vertices.ndim==2.
> > >>
> > >> A less elegant way would be to plot every data point in an individual
> > >> scatter plot function, using a for-loop iterating over all data
> > >> points. Then, however, I see no way to apply a colormap and colorbar.
> > >>
> > >> What is the best way to accomplish that then?
> > >>
> > >> Thanks,
> > >>
> > >> -Hackstein
> > >>
> > >>
> > >>
> > >> ------------------------------------------------------------------------------
> > >> Try New Relic Now & We'll Send You this Cool Shirt
> > >> New Relic is the only SaaS-based application performance monitoring service
> > >> that delivers powerful full stack analytics. Optimize and monitor your
> > >> browser, app, & servers with just a few lines of code. Try New Relic
> > >> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> > >>
> > >>
> > >> _______________________________________________
> > >> Matplotlib-users mailing list
> > >> Mat...@li...
> > >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> > >
> > > -------------- next part --------------
> > > An HTML attachment was scrubbed...
> > >
> > > ------------------------------
> > >
> > > ------------------------------------------------------------------------------
> > > Try New Relic Now & We'll Send You this Cool Shirt
> > > New Relic is the only SaaS-based application performance monitoring service
> > > that delivers powerful full stack analytics. Optimize and monitor your
> > > browser, app, & servers with just a few lines of code. Try New Relic
> > > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> > >
> > > ------------------------------
> > >
> > > _______________________________________________
> > > Matplotlib-users mailing list
> > > Mat...@li...
> > > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> > >
> > >
> > > End of Matplotlib-users Digest, Vol 83, Issue 23
> > > ************************************************
> >
> > ------------------------------------------------------------------------------
> > Try New Relic Now & We'll Send You this Cool Shirt
> > New Relic is the only SaaS-based application performance monitoring service
> > that delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: Francesco M. <fra...@gm...> - 2013-04-26 12:07:22
|
Il giorno 26/apr/2013 13:16, "Hackstein" <new...@gm...> ha
scritto:
>
> Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get
the markers and their colors right, but I still have two problems:
> The markers have a black edges, that I cannot get rid of. I've tried
>
> rect = Rectangle(..., ec=None)
>
> and also
>
> col.set=edgecolor(None)
I think that you have to use the string 'none' instead of None type. The
latter is used to use the default value for the variable (in you case
black).
cheers
Francesco
>
> and 'None', respectively, both with no effect whatsoever.
>
> The second problem is, that I cannot get the colorbar to work.
> I tried
>
> sc = ax.add_collection(col)
> plt.colorbar(sc)
>
> and
>
> plt.colobar(col)
>
> both do not work.
> Any Ideas how to fix those two issues?
>
> Thanks,
>
> -Hackstein
>
>
> > Message: 4
> > Date: Thu, 25 Apr 2013 19:44:23 -0400
> > From: Ryan Nelson <rne...@gm...>
> > Subject: Re: [Matplotlib-users] Individual custom markers and colorbar
> > To: mat...@li...
> > Message-ID: <517...@gm...>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > Hackstein,
> >
> > Unfortunately, I'm not sure of an 'elegant' way to do what your asking
> > with a single call to scatter. Others may know a better way. However,
> > you can use rectangle patches and patch collections. (Requires a bit
> > more code than scatter but is ultimately more flexible.)
> >
> > I think the example below does what you need, but with random numbers.
> >
> > Hope it helps a little.
> >
> > Ryan
> >
> > #######################
> > import numpy as np
> > import matplotlib.pyplot as plt
> > from matplotlib.patches import Rectangle
> > from matplotlib.collections import PatchCollection
> >
> > n = 100
> >
> > # Get your xy data points, which are the centers of the rectangles.
> > xy = np.random.rand(n,2)
> >
> > # Set a fixed height
> > height = 0.02
> > # The variable widths of the rectangles
> > widths = np.random.rand(n)*0.1
> >
> > # Get a color map and color values (normalized between 0 and 1)
> > cmap = plt.cm.jet
> > colors = np.random.rand(n)
> >
> > rects = []
> > for p, w, c in zip(xy, widths, colors):
> > xpos = p[0] - w/2 # The x position will be half the width from the
> > center
> > ypos = p[1] - height/2 # same for the y position, but with height
> > rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
> > rects.append(rect) # Add the rectangle patch to our list
> >
> > # Create a collection from the rectangles
> > col = PatchCollection(rects)
> > # set the alpha for all rectangles
> > col.set_alpha(0.3)
> > # Set the colors using the colormap
> > col.set_facecolor( cmap(colors) )
> >
> > # Make a figure and add the collection to the axis.
> > ax = plt.subplot(111)
> > ax.add_collection(col)
> > plt.show()
> >
> > ###############################
> >
> >
> > On 4/24/2013 5:35 PM, Hackstein wrote:
> >>
> >> Hi all,
> >>
> >> I am trying to get a scatter plot using a colormap. Additionally, I
> >> need to define every marker for every data point individually -- each
> >> being a rectangle with fixed height but varying width as a function of
> >> the y-value. X and y being the data coordinates, z being a number to
> >> be color coded with the colormap.
> >>
> >> Ideally, I would like to create a list of width and height values for
> >> each data point and tell the scatter plot to use those.
> >>
> >> So far I got colormapped data with custom markers (simplified):
> >>
> >> [code]
> >>
> >> import numpy as np
> >>
> >> import matplotlib.pyplot as plt
> >>
> >> from pylab import *
> >>
> >> x = y = [1,2,3,4,5]
> >>
> >> z = [2,4,6,8,10]
> >>
> >> colors = cm.gnuplot2
> >>
> >> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
> >>
> >> fig = plt.figure(1, figsize=(14.40, 9.00))
> >>
> >> ax = fig.add_subplot(1,1,1)
> >>
> >> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
> >> verts=verts_vec, cmap=colors, alpha=1.)
> >>
> >> plt.colorbar(sc, orientation='horizontal')
> >>
> >> plt.savefig('test.png', dpi=200)
> >>
> >> plt.close(1)
> >>
> >> [/code]
> >>
> >> But I need to define a marker size for each point, and I also need to
> >> do that in axis scale values, not in points.
> >>
> >> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N
> >> being len(x), to define N individual markers.
> >>
> >> But when doing that I get the error that vertices.ndim==2.
> >>
> >> A less elegant way would be to plot every data point in an individual
> >> scatter plot function, using a for-loop iterating over all data
> >> points. Then, however, I see no way to apply a colormap and colorbar.
> >>
> >> What is the best way to accomplish that then?
> >>
> >> Thanks,
> >>
> >> -Hackstein
> >>
> >>
> >>
> >>
------------------------------------------------------------------------------
> >> Try New Relic Now & We'll Send You this Cool Shirt
> >> New Relic is the only SaaS-based application performance monitoring
service
> >> that delivers powerful full stack analytics. Optimize and monitor your
> >> browser, app, & servers with just a few lines of code. Try New Relic
> >> and get this awesome Nerd Life shirt!
http://p.sf.net/sfu/newrelic_d2d_apr
> >>
> >>
> >> _______________________________________________
> >> Matplotlib-users mailing list
> >> Mat...@li...
> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> >
> > ------------------------------
> >
> >
------------------------------------------------------------------------------
> > Try New Relic Now & We'll Send You this Cool Shirt
> > New Relic is the only SaaS-based application performance monitoring
service
> > that delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt!
http://p.sf.net/sfu/newrelic_d2d_apr
> >
> > ------------------------------
> >
> > _______________________________________________
> > Matplotlib-users mailing list
> > Mat...@li...
> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> >
> >
> > End of Matplotlib-users Digest, Vol 83, Issue 23
> > ************************************************
>
>
------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring
service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: Chad P. <par...@gm...> - 2013-04-26 11:35:09
|
Hi all- I've been working on a plot that puts the bottom and right spines at zero (adapting some code from the example at http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html) , and I've discovered that setting the position of the right spine to 'zero' seems to locate it at x=1. Is this a bug? Or is there something that I'm missing? Thanks, --Chad P.S. Sorry if this is duplicated... it seems that my messages aren't getting though to the list. Here's an example that demonstrates the behavior: import matplotlib.pyplot as plt f=plt.figure(1) ax=plt.subplot(111) ax.spines['left'].set_color('none') ax.spines['top'].set_color('none') ax.spines['right'].set_position('zero') ax.spines['bottom'].set_position('zero') ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('right') ax.set_xlim([-2,2]) ax.set_ylim([-2,2]) plt.show() |
|
From: Hackstein <new...@gm...> - 2013-04-26 11:15:10
|
Thanks, Ryan, this is (amost) exactly what I was looking for. Now, I get the markers and their colors right, but I still have two problems:
The markers have a black edges, that I cannot get rid of. I've tried
rect = Rectangle(..., ec=None)
and also
col.set=edgecolor(None)
and 'None', respectively, both with no effect whatsoever.
The second problem is, that I cannot get the colorbar to work.
I tried
sc = ax.add_collection(col)
plt.colorbar(sc)
and
plt.colobar(col)
both do not work.
Any Ideas how to fix those two issues?
Thanks,
-Hackstein
> Message: 4
> Date: Thu, 25 Apr 2013 19:44:23 -0400
> From: Ryan Nelson <rne...@gm...>
> Subject: Re: [Matplotlib-users] Individual custom markers and colorbar
> To: mat...@li...
> Message-ID: <517...@gm...>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hackstein,
>
> Unfortunately, I'm not sure of an 'elegant' way to do what your asking
> with a single call to scatter. Others may know a better way. However,
> you can use rectangle patches and patch collections. (Requires a bit
> more code than scatter but is ultimately more flexible.)
>
> I think the example below does what you need, but with random numbers.
>
> Hope it helps a little.
>
> Ryan
>
> #######################
> import numpy as np
> import matplotlib.pyplot as plt
> from matplotlib.patches import Rectangle
> from matplotlib.collections import PatchCollection
>
> n = 100
>
> # Get your xy data points, which are the centers of the rectangles.
> xy = np.random.rand(n,2)
>
> # Set a fixed height
> height = 0.02
> # The variable widths of the rectangles
> widths = np.random.rand(n)*0.1
>
> # Get a color map and color values (normalized between 0 and 1)
> cmap = plt.cm.jet
> colors = np.random.rand(n)
>
> rects = []
> for p, w, c in zip(xy, widths, colors):
> xpos = p[0] - w/2 # The x position will be half the width from the
> center
> ypos = p[1] - height/2 # same for the y position, but with height
> rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
> rects.append(rect) # Add the rectangle patch to our list
>
> # Create a collection from the rectangles
> col = PatchCollection(rects)
> # set the alpha for all rectangles
> col.set_alpha(0.3)
> # Set the colors using the colormap
> col.set_facecolor( cmap(colors) )
>
> # Make a figure and add the collection to the axis.
> ax = plt.subplot(111)
> ax.add_collection(col)
> plt.show()
>
> ###############################
>
>
> On 4/24/2013 5:35 PM, Hackstein wrote:
>>
>> Hi all,
>>
>> I am trying to get a scatter plot using a colormap. Additionally, I
>> need to define every marker for every data point individually -- each
>> being a rectangle with fixed height but varying width as a function of
>> the y-value. X and y being the data coordinates, z being a number to
>> be color coded with the colormap.
>>
>> Ideally, I would like to create a list of width and height values for
>> each data point and tell the scatter plot to use those.
>>
>> So far I got colormapped data with custom markers (simplified):
>>
>> [code]
>>
>> import numpy as np
>>
>> import matplotlib.pyplot as plt
>>
>> from pylab import *
>>
>> x = y = [1,2,3,4,5]
>>
>> z = [2,4,6,8,10]
>>
>> colors = cm.gnuplot2
>>
>> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
>>
>> fig = plt.figure(1, figsize=(14.40, 9.00))
>>
>> ax = fig.add_subplot(1,1,1)
>>
>> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
>> verts=verts_vec, cmap=colors, alpha=1.)
>>
>> plt.colorbar(sc, orientation='horizontal')
>>
>> plt.savefig('test.png', dpi=200)
>>
>> plt.close(1)
>>
>> [/code]
>>
>> But I need to define a marker size for each point, and I also need to
>> do that in axis scale values, not in points.
>>
>> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N
>> being len(x), to define N individual markers.
>>
>> But when doing that I get the error that vertices.ndim==2.
>>
>> A less elegant way would be to plot every data point in an individual
>> scatter plot function, using a for-loop iterating over all data
>> points. Then, however, I see no way to apply a colormap and colorbar.
>>
>> What is the best way to accomplish that then?
>>
>> Thanks,
>>
>> -Hackstein
>>
>>
>>
>> ------------------------------------------------------------------------------
>> Try New Relic Now & We'll Send You this Cool Shirt
>> New Relic is the only SaaS-based application performance monitoring service
>> that delivers powerful full stack analytics. Optimize and monitor your
>> browser, app, & servers with just a few lines of code. Try New Relic
>> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
>>
>>
>> _______________________________________________
>> Matplotlib-users mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
>
> ------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>
> End of Matplotlib-users Digest, Vol 83, Issue 23
> ************************************************
|
|
From: Nils W. <ni...@go...> - 2013-04-26 10:31:34
|
Hi Michael, Great. Now it works fine for me. Nils On 4/25/13, Michael Droettboom <md...@st...> wrote: > I believe this PR fixes this bug: > > https://github.com/matplotlib/matplotlib/pull/1884 > > I had been waiting for the original poster to confirm before merging, > but I think I'll go ahead and do this anyway at this point. > > Mike > > On 04/23/2013 02:57 PM, Nils Wagner wrote: >> Hi all, >> >> I cannot install matplotlib. Please find enclosed the logfile of >> python setup.py install --prefix=$HOME/local >& log.txt >> >> Any idea how to resolve the problem is appreciated. >> >> Thanks in advance. >> Nils >> >> >> >> ------------------------------------------------------------------------------ >> Try New Relic Now & We'll Send You this Cool Shirt >> New Relic is the only SaaS-based application performance monitoring >> service >> that delivers powerful full stack analytics. Optimize and monitor your >> browser, app, & servers with just a few lines of code. Try New Relic >> and get this awesome Nerd Life shirt! >> http://p.sf.net/sfu/newrelic_d2d_apr >> >> >> _______________________________________________ >> Matplotlib-users mailing list >> Mat...@li... >> https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Mathew T. <mat...@ed...> - 2013-04-26 10:03:17
|
Dear all, I have a set of wave directions in lon lat, but I want to display them in a UTM type projection. I believe the directions will be distorted, but I'm not sure by how much. Does anyone know of a method for calculating new directions under a projection change? Thanks again for your help, Mat -- Dr. Mathew Topper Institute for Energy Systems School of Engineering The University of Edinburgh Faraday Building The King’s Buildings Edinburgh EH9 3JL Tel: +44 (0)131 650 5570 School fax: +44 (0)131 650 6554 mat...@ed... <mailto:mat...@ed...> http://www.see.ed.ac.uk <http://www.see.ed.ac.uk/> The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. |
|
From: Werner F. B. <wer...@fr...> - 2013-04-26 06:55:39
|
Hi, Anyone can provide some info on what "agg.buffer_rgba" returns and maybe even some suggestion on how to resolve this issue in the wxagg backend. Thanks Werner P.S. The archive on Sourceforge for this list stops in June 2012, noticed this as I wanted to check if there are answers I didn't get for some reason. http://sourceforge.net/mailarchive/forum.php?forum_name=matplotlib-users On 20/04/2013 08:58, Werner F. Bruhin wrote: > Hi, > > I am trying to get matplotlib 1.2.0 to work with wxPython Phoenix - will > provide a patch when it is working. > > Made the changes to backend_wx* for things like EmptyImage/EmptyBitmap > and Toolbar but I am stuck on the following. > > if bbox is None: > # agg => rgba buffer -> bitmap > if 'phoenix' in wx.PlatformInfo: > return wx.Bitmap.FromBufferRGBA(int(agg.width), > int(agg.height), > memoryview(agg.buffer_rgba())) > else: > return wx.BitmapFromBufferRGBA(int(agg.width), int(agg.height), > agg.buffer_rgba()) > else: > # agg => rgba buffer -> bitmap => clipped bitmap > return _WX28_clipped_agg_as_bitmap(agg, bbox) > > TypeError: cannot make memory view because object does not have the > buffer interface > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in > <module> > demo() > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo > app.MainLoop() > File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", > line 1841, in MainLoop > rv = wx.PyApp.MainLoop(self) > File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", > line 1209, in _onPaint > self.draw(drawDC=drawDC) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 61, in draw > self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 173, in _convert_agg_to_wx_bitmap > memoryview(agg.buffer_rgba())) > > I tried using "memoryview" based on a suggestion by Robin Dunn, and > based on the following info I see in the debugger that should work no? > > agg.buffer_rgba() > <read-write buffer ptr 0x05400638, size 229200 at 0x055FC680> > type(agg.buffer_rgba()) > <type 'buffer'> > agg > <matplotlib.backends.backend_agg.RendererAgg instance at 0x04BA0670> > > If I don't use "memoryview" (which would probably be preferred) I get > the following exception. > > Can someone help us figure this one out. > > Thanks > Werner > > > TypeError: Bitmap.FromBufferRGBA(): argument 3 has unexpected type 'buffer' > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 63, in > <module> > demo() > File "h:\devProjectsT\aaTests\matplotlib\wxembedding-5.py", line 60, in demo > app.MainLoop() > File "c:\Python27\Lib\site-packages\wx-2.9.6-msw-phoenix\wx\core.py", > line 1841, in MainLoop > rv = wx.PyApp.MainLoop(self) > File "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wx.py", > line 1209, in _onPaint > self.draw(drawDC=drawDC) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 61, in draw > self.bitmap = _convert_agg_to_wx_bitmap(self.get_renderer(), None) > File > "c:\Python27\Lib\site-packages\matplotlib\backends\backend_wxagg.py", > line 173, in _convert_agg_to_wx_bitmap > agg.buffer_rgba()) > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |
|
From: Ryan N. <rne...@gm...> - 2013-04-25 23:44:35
|
Hackstein,
Unfortunately, I'm not sure of an 'elegant' way to do what your asking
with a single call to scatter. Others may know a better way. However,
you can use rectangle patches and patch collections. (Requires a bit
more code than scatter but is ultimately more flexible.)
I think the example below does what you need, but with random numbers.
Hope it helps a little.
Ryan
#######################
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.collections import PatchCollection
n = 100
# Get your xy data points, which are the centers of the rectangles.
xy = np.random.rand(n,2)
# Set a fixed height
height = 0.02
# The variable widths of the rectangles
widths = np.random.rand(n)*0.1
# Get a color map and color values (normalized between 0 and 1)
cmap = plt.cm.jet
colors = np.random.rand(n)
rects = []
for p, w, c in zip(xy, widths, colors):
xpos = p[0] - w/2 # The x position will be half the width from the
center
ypos = p[1] - height/2 # same for the y position, but with height
rect = Rectangle( (xpos, ypos), w, height ) # Create a rectangle
rects.append(rect) # Add the rectangle patch to our list
# Create a collection from the rectangles
col = PatchCollection(rects)
# set the alpha for all rectangles
col.set_alpha(0.3)
# Set the colors using the colormap
col.set_facecolor( cmap(colors) )
# Make a figure and add the collection to the axis.
ax = plt.subplot(111)
ax.add_collection(col)
plt.show()
###############################
On 4/24/2013 5:35 PM, Hackstein wrote:
>
> Hi all,
>
> I am trying to get a scatter plot using a colormap. Additionally, I
> need to define every marker for every data point individually -- each
> being a rectangle with fixed height but varying width as a function of
> the y-value. X and y being the data coordinates, z being a number to
> be color coded with the colormap.
>
> Ideally, I would like to create a list of width and height values for
> each data point and tell the scatter plot to use those.
>
> So far I got colormapped data with custom markers (simplified):
>
> [code]
>
> import numpy as np
>
> import matplotlib.pyplot as plt
>
> from pylab import *
>
> x = y = [1,2,3,4,5]
>
> z = [2,4,6,8,10]
>
> colors = cm.gnuplot2
>
> verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
>
> fig = plt.figure(1, figsize=(14.40, 9.00))
>
> ax = fig.add_subplot(1,1,1)
>
> sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
> verts=verts_vec, cmap=colors, alpha=1.)
>
> plt.colorbar(sc, orientation='horizontal')
>
> plt.savefig('test.png', dpi=200)
>
> plt.close(1)
>
> [/code]
>
> But I need to define a marker size for each point, and I also need to
> do that in axis scale values, not in points.
>
> I imagine giving verts a list of N*2 tuples instead of 2 tuples, N
> being len(x), to define N individual markers.
>
> But when doing that I get the error that vertices.ndim==2.
>
> A less elegant way would be to plot every data point in an individual
> scatter plot function, using a for-loop iterating over all data
> points. Then, however, I see no way to apply a colormap and colorbar.
>
> What is the best way to accomplish that then?
>
> Thanks,
>
> -Hackstein
>
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
|
|
From: Michael D. <md...@st...> - 2013-04-25 12:32:56
|
I believe this PR fixes this bug: https://github.com/matplotlib/matplotlib/pull/1884 I had been waiting for the original poster to confirm before merging, but I think I'll go ahead and do this anyway at this point. Mike On 04/23/2013 02:57 PM, Nils Wagner wrote: > Hi all, > > I cannot install matplotlib. Please find enclosed the logfile of > python setup.py install --prefix=$HOME/local >& log.txt > > Any idea how to resolve the problem is appreciated. > > Thanks in advance. > Nils > > > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Hackstein <new...@gm...> - 2013-04-24 21:35:27
|
Hi all,
I am trying to get a scatter plot using a colormap. Additionally, I need to
define every marker for every data point individually - each being a
rectangle with fixed height but varying width as a function of the y-value.
X and y being the data coordinates, z being a number to be color coded with
the colormap.
Ideally, I would like to create a list of width and height values for each
data point and tell the scatter plot to use those.
So far I got colormapped data with custom markers (simplified):
[code]
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
x = y = [1,2,3,4,5]
z = [2,4,6,8,10]
colors = cm.gnuplot2
verts_vec = list(zip([-10.,10.,10.,-10.],[-5.,-5.,5.,5.]))
fig = plt.figure(1, figsize=(14.40, 9.00))
ax = fig.add_subplot(1,1,1)
sc = ax.scatter(x, y, c=np.asarray(z), marker=None, edgecolor='None',
verts=verts_vec, cmap=colors, alpha=1.)
plt.colorbar(sc, orientation='horizontal')
plt.savefig('test.png', dpi=200)
plt.close(1)
[/code]
But I need to define a marker size for each point, and I also need to do
that in axis scale values, not in points.
I imagine giving verts a list of N*2 tuples instead of 2 tuples, N being
len(x), to define N individual markers.
But when doing that I get the error that vertices.ndim==2.
A less elegant way would be to plot every data point in an individual
scatter plot function, using a for-loop iterating over all data points.
Then, however, I see no way to apply a colormap and colorbar.
What is the best way to accomplish that then?
Thanks,
-Hackstein
|
|
From: Jody K. <jk...@uv...> - 2013-04-24 16:42:46
|
Not quite a module, but I think it does what you want: http://matplotlib.1069221.n5.nabble.com/function-to-create-a-colormap-from-cpt-palette-td2165.html Cheers, Jody On Apr 24, 2013, at 9:16 AM, Andreas Hilboll <li...@hi...> wrote: > Hi, > I'd like to have the cpt-city colormaps available in matplotlib. Is > there already a module for this? If not, I'll try to patch something > together. What do you think? > Cheers, Andreas > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- Jody Klymak http://web.uvic.ca/~jklymak/ |
|
From: Andreas H. <li...@hi...> - 2013-04-24 16:16:55
|
Hi, I'd like to have the cpt-city colormaps available in matplotlib. Is there already a module for this? If not, I'll try to patch something together. What do you think? Cheers, Andreas |
|
From: Nils W. <ni...@go...> - 2013-04-23 18:57:44
|
Hi all,
I cannot install matplotlib. Please find enclosed the logfile of
python setup.py install --prefix=$HOME/local >& log.txt
Any idea how to resolve the problem is appreciated.
Thanks in advance.
Nils
|
|
From: Chad P. <par...@gm...> - 2013-04-23 16:52:45
|
Hi all- I've been working on a plot that puts the bottom and right spines at zero (adapting some code from the example at http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html) , and I've discovered that setting the position of the right spine to 'zero' seems to locate it at x=1. Is this a bug? Or is there something that I'm missing? Thanks, --Chad Here's an example that demonstrates the behavior: import matplotlib.pyplot as plt f=plt.figure(1) ax=plt.subplot(111) ax.spines['left'].set_color('none') ax.spines['top'].set_color('none') ax.spines['right'].set_position('zero') ax.spines['bottom'].set_position('zero') ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('right') ax.set_xlim([-2,2]) ax.set_ylim([-2,2]) plt.show() |
|
From: Marian J. <mja...@ta...> - 2013-04-23 14:58:25
|
Hi all, is there any possibility to show only first quadrant in hammer projection? If it is not implemented in matplotlib, have you any trick for doing this? Thanks in advance for your help. Best, Marian |
|
From: Paul I. <piv...@gm...> - 2013-04-22 23:23:40
|
Hey everyone, Over on IRC (#scipy channel on freenode), Baribal asked this: <Baribal> I'm computing a dendrite on a continuous surface ([0, 1[, [0, 1[) and want to visualize it. What module would you recommend? In practice, I need to draw lines from x_1/y_1 to x_2/y_2 with a color gradient applied. And further specified that the this is just for straight lines, and each point also has an RGB value associated with it. I coded up a solution (plot_gradient_rbg_pairs), and thought I'd share it here. I've also posted it to a gist, in case I end up updating it later. https://gist.github.com/5439438 #!/usr/bin/env python """A quick hack to draw gradient lines using a colormap. This was written in response to <Baribal>'s question on IRC. There are two functions provided here: `plot_gradient_hack` takes two arguments, p0 and p1, which are both (x,y) pairs, and plots a gradient between them that spans the full colormap. `plot_gradient_rbg_pairs` does the same thing, but also takes rgb0 and rgb1 arguments, makes a new colormap that spans between those two values, and uses that colormap for the plot. There's an alternative solution over here [1], but that uses many more points. 1. http://matplotlib.1069221.n5.nabble.com/Gradient-color-on-a-line-plot-td17643.html """ import numpy as np import matplotlib.pyplot as plt import matplotlib from matplotlib.colors import LinearSegmentedColormap def plot_gradient_hack( p0, p1, npts=20, cmap=None, **kw): """ Draw a gradient between p0 and p1 using a colormap The **kw dictionary gets passed to plt.plot, so things like linestyle, linewidth, labels, etc can be modified directly. """ x_1, y_1 = p0 x_2, y_2 = p1 X = np.linspace(x_1, x_2, npts) Xs = X[:-1] Xf = X[1:] Xpairs = zip(Xs, Xf) Y = np.linspace(y_1, y_2, npts) Ys = Y[:-1] Yf = Y[1:] Ypairs = zip(Ys, Yf) C = np.linspace(0,1, npts) cmap = plt.get_cmap(cmap) # the simplest way of doing this is to just do the following: for x, y, c in zip(Xpairs, Ypairs, C): plt.plot(x, y, '-', c=cmap(c), **kw) # But for cases when that will be too slow, you can make this go faster, # follow along with this example: # http://matplotlib.org/examples/pylab_examples/line_collection2.html def plot_gradient_rbg_pairs(p0, p1, rgb0, rgb1, **kw): """Form the gradient from RGB values at each point The **kw dictionary gets passed to plt.plot, so things like linestyle, linewidth, labels, etc can be modified directly. """ cmap = LinearSegmentedColormap.from_list('tmp', (rgb0, rgb1)) plot_gradient_hack(p0, p1, cmap=cmap, **kw) # plot gradient that just spans the full colormap plot_gradient_hack( (1,2), (5,6) ) # we can specify the colormap, and set some properties for the plot plot_gradient_hack( (2,5), (5,3), cmap='bwr', linewidth=3.) # We also have a simple wrapper to specify the two rgb points to interpolate # the gradient between plot_gradient_rbg_pairs( (1.1,2), (5.1,6), (0,0,0), (1,1,1) ) # black to white plot_gradient_rbg_pairs( (1.2,2), (5.2,6), (0,0,0), (0,0,1), # black to blue linestyle='--', linewidth=9) plot_gradient_rbg_pairs( (1.3,2), (5.3,6), (1,0,0), (0,1,0), # red to green linewidth=4 ) plt.show() # we can use this gradient plot to display all colormaps on one plot easily plt.figure() with matplotlib.rc_context({'lines.solid_capstyle':'butt'}): # the default projecting capstyle looks kind of ugly. rc_context was # introduced in matpltolib 1.2.0, if you are running a version older than # that, you can ignore this line and remove one level of indentation from # the for loop for i, map_name in enumerate(plt.cm.cmap_d): plot_gradient_hack((0, i), (1, i), cmap = map_name, linewidth=4) plt.text(1,i, map_name, va='center') # comment out this last line to plot all ~140 colormaps if i==25: break plt.show() best, -- Paul Ivanov 314 address only used for lists, off-list direct email at: http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 |
|
From: Nick G. <ng...@gm...> - 2013-04-22 21:11:54
|
Folks, I am trying to make a plot with axes rotated by 45 degrees, so that the plot looks like a romb. I set the rotating transform for the subplot, but it is still plotted in a normal orientation. Could someone tell my why the set_transform function does not work? Many thanks, Nick Gnedin import matplotlib.pyplot as plt from matplotlib.transforms import Affine2D tr = Affine2D().rotate_deg(45) fig = plt.figure() ax = fig.add_subplot(111) ax.set_transform(tr) fig.show() |
|
From: <car...@ya...> - 2013-04-22 15:02:11
|
The problem was mix axes and pyplot. Plt.savefig was locking the app. I removed all pyplot reference and changed to self.axes.xxx() and self.fig.savefig.(xxx). Worked. -- View this message in context: http://matplotlib.1069221.n5.nabble.com/After-close-the-plot-window-the-process-keeps-running-tp40919p40940.html Sent from the matplotlib - users mailing list archive at Nabble.com. |
|
From: Charles A. <cny...@gm...> - 2013-04-22 06:33:21
|
many thanks Paul, this did work: I uninstalled all python in my computer: sudo rm -rf python* sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7 sudo rm -rf "/Applications/Python 2.7" and installed python and matplotlib afresh. Numby had been installed Python 2.7.4 (v2.7.4:026ee0057e2d, Apr 6 2013, 10:15:50) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as np >>> import pylab as pl >>> x=[1,2,3,4] >>> y=[2,3,4,5] >>> pl.plot(x,y) [<matplotlib.lines.Line2D object at 0x50b8990>] >>> pl.show() Thank you, Charles On 22 Apr 2013, at 06:50, Paul Ivanov <piv...@gm...> wrote: > Hi Charles, > > I'm sending my reply to the matplotlib-users list - please follow > up there, so that others benefit from your experience, or folks > who have run into the same issue can also pitch in with their > help. > > Here's where to go to sign up: > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > Once you're signed up, you hit "reply all" to this email (it > would be kind of you to remove my name from the addressee list > when you do that, so that the email goes only to the > matplotlib-users list, of which I'm a member) > > See the rest of my reply below your original message. > > cny...@gm..., on 2013-04-21 09:43, wrote: >> Hello Paul >> >> I wished to use matplotlip, but I am facing diffuculties and I >> was wondering if you can help. >> >> Matplot lib is installed but pylab has the following error. I >> will appreciate a suggestion if you have some please >> >> Charles >> >> >> >>>>> import numpy as np >>>>> import pylab as pl >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pylab.py", line 1, in <module> >> from matplotlib.pylab import * >> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pylab.py", line 222, in <module> >> from matplotlib import mpl # pulls in most modules >> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mpl.py", line 1, in <module> >> from matplotlib import artist >> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.py", line 7, in <module> >> from transforms import Bbox, IdentityTransform, TransformedBbox, \ >> File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/transforms.py", line 35, in <module> >> from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox, >> ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_path.so, 2): no suitable image found. Did find: >> /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_path.so: no matching architecture in universal wrapper > > This looks like conflicting versions of python are being used (64 > bit and 32 bit). One trick for getting to the bottom of Python > stack traces is to take the text of the *last* line of the > traceback, remove all but the last few bits of the file path > (since other folks won't necessarily be installing to the extact > path you've installeed to), and feed it to google. > > The first google hit for "_path.so: no matching architecture in > universal wrapper" is this stackoverflow post: > http://stackoverflow.com/questions/5419439/matplotlib-pyplot-on-os-x-with-64-bit-python-from-python-org > > See if the solution suggested there (installing 32-bit version > from python.org) > > best, > -- > Paul Ivanov > 314 address only used for lists, off-list direct email at: > http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 |
|
From: Paul I. <piv...@gm...> - 2013-04-22 05:52:19
|
Hi Charles, I'm sending my reply to the matplotlib-users list - please follow up there, so that others benefit from your experience, or folks who have run into the same issue can also pitch in with their help. Here's where to go to sign up: https://lists.sourceforge.net/lists/listinfo/matplotlib-users Once you're signed up, you hit "reply all" to this email (it would be kind of you to remove my name from the addressee list when you do that, so that the email goes only to the matplotlib-users list, of which I'm a member) See the rest of my reply below your original message. cny...@gm..., on 2013-04-21 09:43, wrote: > Hello Paul > > I wished to use matplotlip, but I am facing diffuculties and I > was wondering if you can help. > > Matplot lib is installed but pylab has the following error. I > will appreciate a suggestion if you have some please > > Charles > > > > >>> import numpy as np > >>> import pylab as pl > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pylab.py", line 1, in <module> > from matplotlib.pylab import * > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pylab.py", line 222, in <module> > from matplotlib import mpl # pulls in most modules > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/mpl.py", line 1, in <module> > from matplotlib import artist > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/artist.py", line 7, in <module> > from transforms import Bbox, IdentityTransform, TransformedBbox, \ > File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/transforms.py", line 35, in <module> > from matplotlib._path import (affine_transform, count_bboxes_overlapping_bbox, > ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_path.so, 2): no suitable image found. Did find: > /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/_path.so: no matching architecture in universal wrapper This looks like conflicting versions of python are being used (64 bit and 32 bit). One trick for getting to the bottom of Python stack traces is to take the text of the *last* line of the traceback, remove all but the last few bits of the file path (since other folks won't necessarily be installing to the extact path you've installeed to), and feed it to google. The first google hit for "_path.so: no matching architecture in universal wrapper" is this stackoverflow post: http://stackoverflow.com/questions/5419439/matplotlib-pyplot-on-os-x-with-64-bit-python-from-python-org See if the solution suggested there (installing 32-bit version from python.org) best, -- Paul Ivanov 314 address only used for lists, off-list direct email at: http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 |
|
From: Michael D. <md...@st...> - 2013-04-22 00:15:37
|
Just curious -- where is the formula for matplotlib in homebrew? I can't find it. I thought I would look into why that was failing -- it may just be simply that it's an old version of matplotlib and this bug is now fixed in the latest release. Mike On 04/20/2013 11:12 PM, Derek Thomas wrote: > I was able to fix this by uninstalling the matplotlib from homebrew > and installing with pip. > > > On Sat, Apr 20, 2013 at 9:33 AM, Derek Thomas <der...@gm... > <mailto:der...@gm...>> wrote: > > This may be known, but the following modified example from > http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html fails > with a TypeError at matplotlib/backends/backend_pdf.pyc in > draw_path_collection. Is it possible to save pdf files with > surface plots? > > from mpl_toolkits.mplot3d import Axes3D > from matplotlib import cm > from matplotlib.ticker import LinearLocator, FormatStrFormatter > import matplotlib.pyplot as plt > import numpy as np > > fig = plt.figure() > ax = fig.gca(projection='3d') > X = np.arange(-5, 5, 0.25) > Y = np.arange(-5, 5, 0.25) > X, Y = np.meshgrid(X, Y) > R = np.sqrt(X**2 + Y**2) > Z = np.sin(R) > surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, > cmap=cm.coolwarm, > linewidth=0, antialiased=False) > ax.set_zlim(-1.01, 1.01) > > ax.zaxis.set_major_locator(LinearLocator(10)) > ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f')) > > fig.colorbar(surf, shrink=0.5, aspect=5) > fig.savefig('test.pdf') > plt.show() > > > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > > > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users |
|
From: Derek T. <der...@gm...> - 2013-04-21 03:12:47
|
I was able to fix this by uninstalling the matplotlib from homebrew and installing with pip. On Sat, Apr 20, 2013 at 9:33 AM, Derek Thomas <der...@gm...>wrote: > This may be known, but the following modified example from > http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html fails with a > TypeError at matplotlib/backends/backend_pdf.pyc in draw_path_collection. > Is it possible to save pdf files with surface plots? > > from mpl_toolkits.mplot3d import Axes3D > from matplotlib import cm > from matplotlib.ticker import LinearLocator, FormatStrFormatter > import matplotlib.pyplot as plt > import numpy as np > > fig = plt.figure() > ax = fig.gca(projection='3d') > X = np.arange(-5, 5, 0.25) > Y = np.arange(-5, 5, 0.25) > X, Y = np.meshgrid(X, Y) > R = np.sqrt(X**2 + Y**2) > Z = np.sin(R) > surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, > linewidth=0, antialiased=False) > ax.set_zlim(-1.01, 1.01) > > ax.zaxis.set_major_locator(LinearLocator(10)) > ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f')) > > fig.colorbar(surf, shrink=0.5, aspect=5) > fig.savefig('test.pdf') > plt.show() > > |