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

Showing 9 results of 9

From: Tony Yu <ts...@gm...> - 2011年12月09日 22:27:50
On Fri, Dec 9, 2011 at 5:23 PM, Tony Yu <ts...@gm...> wrote:
>
>
> On Fri, Dec 9, 2011 at 4:11 PM, Daniel Hyams <dh...@gm...> wrote:
>
>> I'm sorry, I should have stated the version. I'm using 1.0.0, which just
>> returns a list of rectangle artists.
>>
>>
>> On Fri, Dec 9, 2011 at 4:08 PM, Benjamin Root <ben...@ou...> wrote:
>>
>>> On Fri, Dec 9, 2011 at 2:55 PM, Daniel Hyams <dh...@gm...> wrote:
>>>
>>>> Tried, but unfortunately it did not make any difference :(
>>>>
>>>>
>>> Just as an interesting point... don't know if it means anything. In
>>> v1.1.x, we now return a "BarContainer" from the bar() function. This
>>> container subclasses the tuple type, which is why you are still able to
>>> treat it like a list. Anyway, this class does a bunch of things that I
>>> wonder if it could be interfering with what you are trying to do. Probably
>>> not, but still...
>>>
>>> Ben Root
>>>
>>>
>>
>>
>> --
>> Daniel Hyams
>> dh...@gm...
>>
>
> So I think the problem is that ``plt.bar`` assigns a transform to each
> patch (as it should). But then when pass these patches to PatchCollection,
> the collection applies it's own transform (but doesn't ignore the patch's
> transform, apparently). The solution is to clear out the transform on each
> patch---where "clearing" a transform translates to setting it to the
> IdentityTransform.
>
> Below is code that works *on my system*. It sounds like it will work
> slightly differently on your system:
>
>
> #!/usr/bin/env python
> import numpy
> import matplotlib.pyplot as plt
> import matplotlib.collections
> import matplotlib.transforms as transforms
>
>
> # just generate some data to plot
> x = numpy.linspace(0.0,2.0*numpy.pi,10)
> y = numpy.sin(x)
>
> # plot
> axes = plt.gca()
> bars = plt.bar(x,y,color='red',width=0.1)
>
> axes.patches = []
> for p in bars.patches:
> p.set_transform(transforms.IdentityTransform())
>
> ## and create a collection for plotting the rectangles instead.
> coll = matplotlib.collections.PatchCollection(bars.patches)
>
> coll.set_transform(axes.transData)
> axes.add_collection(coll, autolim=True)
>
> plt.xlim(0.0,2.0*numpy.pi)
> plt.grid(True)
> plt.show()
>
>
>
P.S. you don't need the call to set_transform that I accidentally added.
From: Tony Yu <ts...@gm...> - 2011年12月09日 22:23:12
On Fri, Dec 9, 2011 at 4:11 PM, Daniel Hyams <dh...@gm...> wrote:
> I'm sorry, I should have stated the version. I'm using 1.0.0, which just
> returns a list of rectangle artists.
>
>
> On Fri, Dec 9, 2011 at 4:08 PM, Benjamin Root <ben...@ou...> wrote:
>
>> On Fri, Dec 9, 2011 at 2:55 PM, Daniel Hyams <dh...@gm...> wrote:
>>
>>> Tried, but unfortunately it did not make any difference :(
>>>
>>>
>> Just as an interesting point... don't know if it means anything. In
>> v1.1.x, we now return a "BarContainer" from the bar() function. This
>> container subclasses the tuple type, which is why you are still able to
>> treat it like a list. Anyway, this class does a bunch of things that I
>> wonder if it could be interfering with what you are trying to do. Probably
>> not, but still...
>>
>> Ben Root
>>
>>
>
>
> --
> Daniel Hyams
> dh...@gm...
>
So I think the problem is that ``plt.bar`` assigns a transform to each
patch (as it should). But then when pass these patches to PatchCollection,
the collection applies it's own transform (but doesn't ignore the patch's
transform, apparently). The solution is to clear out the transform on each
patch---where "clearing" a transform translates to setting it to the
IdentityTransform.
Below is code that works *on my system*. It sounds like it will work
slightly differently on your system:
#!/usr/bin/env python
import numpy
import matplotlib.pyplot as plt
import matplotlib.collections
import matplotlib.transforms as transforms
# just generate some data to plot
x = numpy.linspace(0.0,2.0*numpy.pi,10)
y = numpy.sin(x)
# plot
axes = plt.gca()
bars = plt.bar(x,y,color='red',width=0.1)
axes.patches = []
for p in bars.patches:
 p.set_transform(transforms.IdentityTransform())
## and create a collection for plotting the rectangles instead.
coll = matplotlib.collections.PatchCollection(bars.patches)
coll.set_transform(axes.transData)
axes.add_collection(coll, autolim=True)
plt.xlim(0.0,2.0*numpy.pi)
plt.grid(True)
plt.show()
From: Daniel H. <dh...@gm...> - 2011年12月09日 21:11:44
I'm sorry, I should have stated the version. I'm using 1.0.0, which just
returns a list of rectangle artists.
On Fri, Dec 9, 2011 at 4:08 PM, Benjamin Root <ben...@ou...> wrote:
> On Fri, Dec 9, 2011 at 2:55 PM, Daniel Hyams <dh...@gm...> wrote:
>
>> Tried, but unfortunately it did not make any difference :(
>>
>>
> Just as an interesting point... don't know if it means anything. In
> v1.1.x, we now return a "BarContainer" from the bar() function. This
> container subclasses the tuple type, which is why you are still able to
> treat it like a list. Anyway, this class does a bunch of things that I
> wonder if it could be interfering with what you are trying to do. Probably
> not, but still...
>
> Ben Root
>
>
-- 
Daniel Hyams
dh...@gm...
From: Benjamin R. <ben...@ou...> - 2011年12月09日 21:08:28
On Fri, Dec 9, 2011 at 2:55 PM, Daniel Hyams <dh...@gm...> wrote:
> Tried, but unfortunately it did not make any difference :(
>
>
Just as an interesting point... don't know if it means anything. In
v1.1.x, we now return a "BarContainer" from the bar() function. This
container subclasses the tuple type, which is why you are still able to
treat it like a list. Anyway, this class does a bunch of things that I
wonder if it could be interfering with what you are trying to do. Probably
not, but still...
Ben Root
From: Daniel H. <dh...@gm...> - 2011年12月09日 20:55:32
Tried, but unfortunately it did not make any difference :(
On Fri, Dec 9, 2011 at 2:22 PM, Tony Yu <ts...@gm...> wrote:
>
>
> On Fri, Dec 9, 2011 at 2:13 PM, Daniel Hyams <dh...@gm...> wrote:
>
>> I can't tell if I'm misusing collections here, or if there is a bug.
>> Anyway, what I'm trying to do is keep track of a group of rectangles
>> generated from a bar plot. Instead of letting there be a large number of
>> artists added to the axes, I wanted to just group them into a collection
>> and add the collection instead. As in the code below:
>>
>> #!/usr/bin/env python
>> import numpy
>> import matplotlib.pyplot as plt
>> import matplotlib.collections
>>
>> # just generate some data to plot
>> x = numpy.linspace(0.0,2.0*numpy.pi,10)
>> y = numpy.sin(x)
>>
>> # plot
>> axes = plt.gca()
>> bars = plt.bar(x,y,color='red',width=0.1)
>>
>> # strip out all of the newly inserted rectangles
>> for b in bars: b.remove()
>>
>> # and create a collection for plotting the rectangles instead.
>> coll = matplotlib.collections.PatchCollection(bars)
>>
>> axes.artists.append(coll)
>>
>> plt.xlim(0.0,2.0*numpy.pi)
>> plt.grid(True)
>> plt.show()
>>
>> This appears to work at first blush, but if you resize the plot, you can
>> tell that the rectangles are just fixed in their location now. I tried
>> messing around with setting the transform for the new collection object
>> "coll" in different ways, to no avail. Any suggestions welcome ;)
>>
>> --
>> Daniel Hyams
>> dh...@gm...
>>
>> try transOffset:
>
> >>> coll = matplotlib.collections.PatchCollection(bars,
> transOffset=axes.transData)
>
> I've always found this a bit clumsy, but I think it's the standard way to
> do it.
>
> -Tony
>
-- 
Daniel Hyams
dh...@gm...
From: Tony Yu <ts...@gm...> - 2011年12月09日 19:22:15
On Fri, Dec 9, 2011 at 2:13 PM, Daniel Hyams <dh...@gm...> wrote:
> I can't tell if I'm misusing collections here, or if there is a bug.
> Anyway, what I'm trying to do is keep track of a group of rectangles
> generated from a bar plot. Instead of letting there be a large number of
> artists added to the axes, I wanted to just group them into a collection
> and add the collection instead. As in the code below:
>
> #!/usr/bin/env python
> import numpy
> import matplotlib.pyplot as plt
> import matplotlib.collections
>
> # just generate some data to plot
> x = numpy.linspace(0.0,2.0*numpy.pi,10)
> y = numpy.sin(x)
>
> # plot
> axes = plt.gca()
> bars = plt.bar(x,y,color='red',width=0.1)
>
> # strip out all of the newly inserted rectangles
> for b in bars: b.remove()
>
> # and create a collection for plotting the rectangles instead.
> coll = matplotlib.collections.PatchCollection(bars)
>
> axes.artists.append(coll)
>
> plt.xlim(0.0,2.0*numpy.pi)
> plt.grid(True)
> plt.show()
>
> This appears to work at first blush, but if you resize the plot, you can
> tell that the rectangles are just fixed in their location now. I tried
> messing around with setting the transform for the new collection object
> "coll" in different ways, to no avail. Any suggestions welcome ;)
>
> --
> Daniel Hyams
> dh...@gm...
>
> try transOffset:
>>> coll = matplotlib.collections.PatchCollection(bars,
transOffset=axes.transData)
I've always found this a bit clumsy, but I think it's the standard way to
do it.
-Tony
From: Daniel H. <dh...@gm...> - 2011年12月09日 19:14:12
I can't tell if I'm misusing collections here, or if there is a bug.
 Anyway, what I'm trying to do is keep track of a group of rectangles
generated from a bar plot. Instead of letting there be a large number of
artists added to the axes, I wanted to just group them into a collection
and add the collection instead. As in the code below:
#!/usr/bin/env python
import numpy
import matplotlib.pyplot as plt
import matplotlib.collections
# just generate some data to plot
x = numpy.linspace(0.0,2.0*numpy.pi,10)
y = numpy.sin(x)
# plot
axes = plt.gca()
bars = plt.bar(x,y,color='red',width=0.1)
# strip out all of the newly inserted rectangles
for b in bars: b.remove()
# and create a collection for plotting the rectangles instead.
coll = matplotlib.collections.PatchCollection(bars)
axes.artists.append(coll)
plt.xlim(0.0,2.0*numpy.pi)
plt.grid(True)
plt.show()
This appears to work at first blush, but if you resize the plot, you can
tell that the rectangles are just fixed in their location now. I tried
messing around with setting the transform for the new collection object
"coll" in different ways, to no avail. Any suggestions welcome ;)
-- 
Daniel Hyams
dh...@gm...
From: Benjamin R. <ben...@ou...> - 2011年12月09日 15:10:09
On Friday, December 9, 2011, Laat de, Jos (KNMI) <jos...@kn...>
wrote:
> I am working with (geostationary) satellite data, and one of the things I
want to do is plot a map (coastlines) on top of the satellite image. As an
IDL user I know how to do this in IDL (although in IDL it is a bit of a
hassle), but I don’t seem to be able to figure out how this could be done
in python.
>
>
>
> The satellite data consists of a rectangular field of N by N pixels. The
data is already converted to bitmap RGB values. I have figured out how this
can be written to a bitmap image like PNG or JPG.
>
>
>
> I further figured out how to do the satellite projection in Basemap, and
how to plot Basemap coastlines. However, the Basemap appears to have a
non-transparent background, which overplots all bitmap data if I plot the
Bitmap data first. I had hoped that there would be some transparency
setting in Basemap, but alas.
>
>
>
> (ps. Keep in mind that I do not want to use some contour filling routine
for plotting the satellite data. I want to retain the original N x N pixels
and image size)
What commands are you using to plot the data? drawcoastlines() should only
draw lines. Maybe "hold" is being set to false in your matplotlibrc file
or in your code?
Ben Root
From: Laat d. J. \(KNMI\) <jos...@kn...> - 2011年12月09日 13:33:29
I am working with (geostationary) satellite data, and one of the things
I want to do is plot a map (coastlines) on top of the satellite image.
As an IDL user I know how to do this in IDL (although in IDL it is a bit
of a hassle), but I don't seem to be able to figure out how this could
be done in python.
 
The satellite data consists of a rectangular field of N by N pixels. The
data is already converted to bitmap RGB values. I have figured out how
this can be written to a bitmap image like PNG or JPG.
 
I further figured out how to do the satellite projection in Basemap, and
how to plot Basemap coastlines. However, the Basemap appears to have a
non-transparent background, which overplots all bitmap data if I plot
the Bitmap data first. I had hoped that there would be some transparency
setting in Basemap, but alas.
 
(ps. Keep in mind that I do not want to use some contour filling routine
for plotting the satellite data. I want to retain the original N x N
pixels and image size)

Showing 9 results of 9

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 によって変換されたページ (->オリジナル) /