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





Showing results of 256

<< < 1 .. 3 4 5 6 7 .. 11 > >> (Page 5 of 11)
From: David A. L. <d.a...@re...> - 2011年10月19日 18:25:53
<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle">P {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
</style>
</head>
<body fPStyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>
<p>Dear all,</p>
<p>&nbsp;</p>
<p>I am trying to plot a wind field using the quiver function and would like to color the wind arrows according to the wind strength. I have gone through the online matplotlib material, but have not been able to work out how to do it so far.</p>
<p>&nbsp;</p>
<p>Would it be possible for someone to give me&nbsp;a hint on how&nbsp;to color the arrows according to the wind strength?</p>
<p>&nbsp;</p>
<p>I would much appreciate any help with this problem.</p>
<p>&nbsp;</p>
<p>Best wishes,</p>
<p>&nbsp;</p>
<p>David</p>
<p>&nbsp;</p>
<div style="FONT-FAMILY: Tahoma; FONT-SIZE: 13px">
<p><font size="2">&nbsp;</p>
</font></div>
</div>
</div>
</body>
</html>
From: Michael D. <md...@st...> - 2011年10月19日 18:16:52
You are right that Agg is doing the resizing here. Agg expects 
premultiplied alpha. See [1] for information about what that means.
[1] http://en.wikipedia.org/wiki/Alpha_compositing
After Agg interpolates the pixel values, to prevent oversaturation it 
truncates all values to be less than alpha (which makes sense if 
everything is assumed to be premultiplied alpha). Arguably, the bug 
here is that nearest neighbor (which doesn't have to do any blending) 
doesn't perform the truncation step -- then both would look "wrong".
It happens in this code snippet in span_image_filter_rgba: (base_mask is 
255)
 if(fg[order_type::A] > base_mask) 
fg[order_type::A] = base_mask;
 if(fg[order_type::R] > fg[order_type::A]) 
fg[order_type::R] = fg[order_type::A];
 if(fg[order_type::G] > fg[order_type::A]) 
fg[order_type::G] = fg[order_type::A];
 if(fg[order_type::B] > fg[order_type::A]) 
fg[order_type::B] = fg[order_type::A];
So, the solution to make a partially transparent image is to not do:
 pix[:,:,3] = 127
but instead, do
 pix *= 0.5
Of course, the real fix here is to support alpha blending properly in 
the image class, then the user wouldn't have to deal with such details. 
A bug should probably be filed in the matplotlib issue tracker for this.
Mike
On 10/19/2011 12:23 PM, Daniel Hyams wrote:
> [Sorry, I keep getting tripped up with HTML mail....resent in ascii,
> and resaved one of the attachment png's to make it smaller.]
>
>
> Example script attached (PIL required). Basically, if I impose a
> specific value into an image's alpha channel and use any interpolation
> scheme other than 'nearest', there appears gray all where the figure
> didn't have any color to begin with. I've also attached a screenshot
> of the output of the script on my machine.
>
> Hopefully I'm doing something wrongly?
>
> I chased the problem and managed to hack in a solution that fixes the
> problem, but it's extremely inefficient...basically, in matplotlib's
> image.py, routine BboxImage.make_image, you can create two images
> there....one with no alpha channel (call it imRGB) and one with (call
> it imRGBA). Go through all of the routine, doing exactly the same
> things to both of the images *except* for the interpolation, which is
> set to 'nearest' for imRGBA. Then, rip the colors out of imRGB, the
> alpha channel off of imRGBA, and put them together....go through all
> of the routine again with this composited image, and it works. I
> know...I told you it was bad ;)
>
> The problem seems to be in the "resize" call in that routine...resize,
> which calls into C code, does not appear to handle things correctly
> when the alpha is anything other than 255's across the board. It
> might be a problem in the agg routines, but hopefully it is just maybe
> a misuse of the agg routines.
>
> The behavior seems to be backend independent as far as I could test (I
> tried with wxagg and tk backends). I am using mpl 1.0.0 on Windows if
> it matters.
>
>
> --
> Daniel Hyams
> dh...@gm...
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Sorry, I keep getting tripped up with HTML mail....resent in ascii,
and resaved one of the attachment png's to make it smaller.]
Example script attached (PIL required). Basically, if I impose a
specific value into an image's alpha channel and use any interpolation
scheme other than 'nearest', there appears gray all where the figure
didn't have any color to begin with.  I've also attached a screenshot
of the output of the script on my machine.
Hopefully I'm doing something wrongly?
I chased the problem and managed to hack in a solution that fixes the
problem, but it's extremely inefficient...basically, in matplotlib's
image.py, routine BboxImage.make_image, you can create two images
there....one with no alpha channel (call it imRGB) and one with (call
it imRGBA). Go through all of the routine, doing exactly the same
things to both of the images *except* for the interpolation, which is
set to 'nearest' for imRGBA. Then, rip the colors out of imRGB, the
alpha channel off of imRGBA, and put them together....go through all
of the routine again with this composited image, and it works. I
know...I told you it was bad ;)
The problem seems to be in the "resize" call in that routine...resize,
which calls into C code, does not appear to handle things correctly
when the alpha is anything other than 255's across the board. It
might be a problem in the agg routines, but hopefully it is just maybe
a misuse of the agg routines.
The behavior seems to be backend independent as far as I could test (I
tried with wxagg and tk backends). I am using mpl 1.0.0 on Windows if
it matters.
--
Daniel Hyams
dh...@gm...
From: Jeff W. <js...@fa...> - 2011年10月19日 12:42:41
On 10/18/11 8:55 PM, questions anon wrote:
> Thanks Jeff, that certainly speeds it up! But when I take them out of 
> the loop and place them elsewhere they are no longer added to the map.
> Is there someway I can call them in the loop but still get it to run 
> quickly?
> Thanks
Just the Basemap instance creation and the transformation of coordinates 
to projection space should be hoisted out of the loop
 map = 
Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,
 
llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i')
 x,y=map(*N.meshgrid(LON,LAT))
you can leave the other statements in.
If you still have memory issues, bring the readshapefile call out, and 
draw the shapes whose coordinates are stored in the instance variable 
map.DSE_REGIONS manually in the loop.
-Jeff
>
> On Fri, Oct 14, 2011 at 10:54 PM, Jeff Whitaker <js...@fa... 
> <mailto:js...@fa...>> wrote:
>
> On 10/12/11 8:20 PM, questions anon wrote:
>> Hi All,
>> I keep receiving a memory error when processing many netcdf
>> files. I assumed it had something to do with how I loop things
>> and maybe needed to close things off properly but I recently
>> received an error that made me think it might be because of
>> matplotlib.
>>
>> In the code below I am looping through a bunch of netcdf files
>> (each file is hourly data for one month) and within each netcdf
>> file I am outputting a *png file every three hours. This works
>> for one netcdf file (therefore one month) but when it begins to
>> process the next netcdf file I receive a memory error (see
>> below). Since I have tidied some of my code up it seems to
>> process partly into the second file but then I still receive the
>> memory error.
>> I have tried a few suggestions such as:
>> -Combining the dataset using MFDataset (using NETCDF4) is not an
>> option because the files do not have unlimited dimension.
>> - gc.collect() but that just results in a /GEOS_ERROR: bad
>> allocation error/.
>> -only open LAT and LON once (which worked)
>>
>> System Details:
>> Python 2.7.2 |EPD 7.1-2 (32-bit)| (default, Jul 3 2011,
>> 15:13:59) [MSC v.1500 32 bit (Intel)] on win32
>>
>> Any feedback will be greatly appreciated as I seem to keep ending
>> up with memory errors when working with netcdf files this even
>> happens if I am using a much better computer.
>>
>> *Most recent error: *
>> Traceback (most recent call last):
>> File
>> "C:\plot_netcdf_merc_multiplot_across_multifolders_TSFC.py", line
>> 78, in <module>
>> plt.savefig((os.path.join(outputfolder,
>> 'TSFC'+date_string+'UTC.png')))
>> File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line
>> 363, in savefig
>> return fig.savefig(*args, **kwargs)
>> File "C:\Python27\lib\site-packages\matplotlib\figure.py", line
>> 1084, in savefig
>> self.canvas.print_figure(*args, **kwargs)
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backends\backend_wxagg.py",
>> line 100, in print_figure
>> FigureCanvasAgg.print_figure(self, filename, *args, **kwargs)
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line
>> 1923, in print_figure
>> **kwargs)
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
>> line 438, in print_png
>> FigureCanvasAgg.draw(self)
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
>> line 393, in draw
>> self.renderer = self.get_renderer()
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
>> line 404, in get_renderer
>> self.renderer = RendererAgg(w, h, self.figure.dpi)
>> File
>> "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
>> line 59, in __init__
>> self._renderer = _RendererAgg(int(width), int(height), dpi,
>> debug=False)
>> RuntimeError: Could not allocate memory for image
>>
>> *Error when I added gc.collect()*
>> GEOS_ERROR: bad allocation
>>
>> *Old error (before adding gc.collect() )*
>> /Traceback (most recent call last):
>> File
>> "d:/plot_netcdf_merc_multiplot_across_multifolders__memoryerror.py",
>> line 44, in <module>
>> TSFC=ncfile.variables['T_SFC'][1::3]
>> File "netCDF4.pyx", line 2473, in netCDF4.Variable.__getitem__
>> (netCDF4.c:23094)
>> MemoryError/
>>
>>
>>
>> from netCDF4 import Dataset
>> import numpy as N
>> import matplotlib.pyplot as plt
>> from mpl_toolkits.basemap import Basemap
>> from netcdftime import utime
>> from datetime import datetime
>> import os
>> import gc
>>
>>
>> shapefile1="E:/
>>
>> griddeddatasamples/GIS/DSE_REGIONS"
>> MainFolder=r"E:/griddeddatasamples/GriddedData/InputsforValidation/T_SFC/"
>> OutputFolder=r"E:/griddeddatasamples/GriddedData/OutputsforValidation"
>> fileforlatlon=Dataset("E:/griddeddatasamples/GriddedData/InputsforValidation/T_SFC/TSFC_1974_01/IDZ00026_VIC_ADFD_T_SFC.nc",
>> 'r+', 'NETCDF4')
>> LAT=fileforlatlon.variables['latitude'][:]
>> LON=fileforlatlon.variables['longitude'][:]
>>
>> for (path, dirs, files) in os.walk(MainFolder):
>> for dir in dirs:
>> print dir
>> path=path+'/'
>> for ncfile in files:
>> if ncfile[-3:]=='.nc':
>> print "dealing with ncfiles:", ncfile
>> ncfile=os.path.join(path,ncfile)
>> ncfile=Dataset(ncfile, 'r+', 'NETCDF4')
>> TSFC=ncfile.variables['T_SFC'][1::3]
>> TIME=ncfile.variables['time'][1::3]
>> ncfile.close()
>> gc.collect()
>>
>> for TSFC, TIME in zip((TSFC[:]),(TIME[:])):
>> cdftime=utime('seconds since 1970年01月01日
>> 00:00:00')
>> ncfiletime=cdftime.num2date(TIME)
>> print ncfiletime
>> timestr=str(ncfiletime)
>> d = datetime.strptime(timestr, '%Y-%m-%d
>> %H:%M:%S')
>> date_string = d.strftime('%Y%m%d_%H%M')
>>
>> map =
>> Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,
>> 
>> llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i')
>> x,y=map(*N.meshgrid(LON,LAT))
>> map.drawcoastlines(linewidth=0.5)
>> map.readshapefile(shapefile1, 'DSE_REGIONS')
>> map.drawstates()
>>
>> plt.title('Surface temperature at %s
>> UTC'%ncfiletime)
>> ticks=[-5,0,5,10,15,20,25,30,35,40,45,50]
>> CS = map.contourf(x,y,TSFC, ticks,
>> cmap=plt.cm.jet)
>> l,b,w,h =0.1,0.1,0.8,0.8
>> cax = plt.axes([l+w+0.025, b, 0.025, h], )
>> cbar=plt.colorbar(CS, cax=cax, drawedges=True)
>>
>> plt.savefig((os.path.join(OutputFolder,
>> 'TSFC'+date_string+'UTC.png')))
>> plt.close()
>> gc.collect()
>>
>
> Try moving these lines
>
>
> map =
> Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,
> 
> llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i')
> x,y=map(*N.meshgrid(LON,LAT))
> map.drawcoastlines(linewidth=0.5)
> map.readshapefile(shapefile1, 'DSE_REGIONS')
> map.drawstates()
>
> out of the loop.
>
> -Jeff
>
>
From: RuiDC <ru...@ya...> - 2011年10月19日 08:51:38
Thanks for the comprehensive explanation.
So it would seem it's really only the
http://matplotlib.sourceforge.net/users/whats_new.html page that is
misleading on this.
Many thanks!
-- 
View this message in context: http://old.nabble.com/QT-draw-issue-in-1.1.0-and-PyQt4v2-missing--tp32676093p32680797.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Eric F. <ef...@ha...> - 2011年10月19日 08:28:37
On 10/18/2011 09:44 PM, RuiDC wrote:
> Benjamin Root-2 wrote:
> I think that might have been a little unclear. You should only need
> to select 'PyQt4' or 'PySide'. If PyQt4 is selected, then (I think)
> the v2 is automatically tested for internally.
>
> hmm, please explain where you think it is used internally, as the code
> seem to expect that this param can be set when there is no env variable
> 'QT_API' set, in backends\qt4_compat.py:
After quite a bit of thrashing around, we settled on the present system. 
 The rcParam deliberately does *not* set the API version if PyQt4 is 
used. Whatever your Qt4 comes up with when the backend is imported is 
what is used. That way there is no conflict with applications that 
import pyqt4, and perhaps set the API, before importing mpl. If you want 
to use the v2 api, you can import pyqt4 and set the API yourself before 
importing mpl. Or, if you want the API to be forced to v2 by mpl when 
the backend is imported, you can do what ETS does, which is to set the 
QT_API environment variable to "pyqt".
This moderately ugly mess was necessitated by the need to be compatible 
with ipython, ETS, and existing user code, while dealing with two 
versions of pyqt4 and one of pyside, and with different default versions 
of pyqt4 for python 2 and python 3 (which we will be supporting in the 
not-too-distant future, I believe.)
Eric
>
> # Available APIs.
> QT_API_PYQT = 'PyQt4' # API is not set here; Python 2.x default is V 1
> QT_API_PYQTv2 = 'PyQt4v2' # forced to Version 2 API
> QT_API_PYSIDE = 'PySide' # only supports Version 2 API
>
> ETS = dict(pyqt=QT_API_PYQTv2, pyside=QT_API_PYSIDE)
>
> # If the ETS QT_API environment variable is set, use it. Note that
> # ETS requires the version 2 of PyQt4, which is not the platform
> # default for Python 2.x.
>
> QT_API_ENV = os.environ.get('QT_API')
> if QT_API_ENV is not None:
> try:
> QT_API = ETS[QT_API_ENV]
> except KeyError:
> raise RuntimeError(
> 'Unrecognized environment variable %r, valid values are: %r or %r' %
> (QT_API_ENV, 'pyqt', 'pyside'))
> else:
> # No ETS environment, so use rcParams.
> QT_API = rcParams['backend.qt4']
>
> but trying to set it, via code or matplotlibrc results in: Unrecognized
> backend.qt4 string "PyQt4v2": valid strings are ['PySide', 'PyQt4']
> "%s"\n\t%s' % (val, cnt, line, fname, msg))
> ------------------------------------------------------------------------
> View this message in context: Re: QT draw issue in 1.1.0 and PyQt4v2
> missing?
> <http://old.nabble.com/QT-draw-issue-in-1.1.0-and-PyQt4v2-missing--tp32676093p32680414.html>
> Sent from the matplotlib - users mailing list archive
> <http://old.nabble.com/matplotlib---users-f2906.html> at Nabble.com.
>
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
>
>
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: RuiDC <ru...@ya...> - 2011年10月19日 07:49:19
efiring wrote:
> 
> https://github.com/matplotlib/matplotlib/pull/539
> I think this pull request fixes it.
> Eric
> 
Great, thanks for confirming and fixing!
Whilst waiting for this to make it into a release, I've hacked this to
achieve the same effect (so I don't have to patch + distribute the mpl
code):
 def do_draw_hack(self):
 fig = self.figure
 fig.canvas.draw()
 fig.draw(fig.canvas.get_renderer())
 fig.canvas.update()
-- 
View this message in context: http://old.nabble.com/QT-draw-issue-in-1.1.0-and-PyQt4v2-missing--tp32676093p32680445.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: RuiDC <ru...@ya...> - 2011年10月19日 07:44:42
Benjamin Root-2 wrote:
> 
> I think that might have been a little unclear. You should only need to
> select 'PyQt4' or 'PySide'. If PyQt4 is selected, then (I think) the v2
> is
> automatically tested for internally.
> 
hmm, please explain where you think it is used internally, as the code seem
to expect that this param can be set when there is no env variable 'QT_API'
set, in backends\qt4_compat.py:
# Available APIs.
QT_API_PYQT = 'PyQt4' # API is not set here; Python 2.x default is V 1
QT_API_PYQTv2 = 'PyQt4v2' # forced to Version 2 API
QT_API_PYSIDE = 'PySide' # only supports Version 2 API
ETS = dict(pyqt=QT_API_PYQTv2, pyside=QT_API_PYSIDE)
# If the ETS QT_API environment variable is set, use it. Note that
# ETS requires the version 2 of PyQt4, which is not the platform
# default for Python 2.x.
QT_API_ENV = os.environ.get('QT_API')
if QT_API_ENV is not None:
 try:
 QT_API = ETS[QT_API_ENV]
 except KeyError:
 raise RuntimeError(
 'Unrecognized environment variable %r, valid values are: %r or %r'
%
 (QT_API_ENV, 'pyqt', 'pyside'))
else:
 # No ETS environment, so use rcParams.
 QT_API = rcParams['backend.qt4']
but trying to set it, via code or matplotlibrc results in:
 Unrecognized backend.qt4 string "PyQt4v2": valid strings are
['PySide', 'PyQt4']
 "%s"\n\t%s' % (val, cnt, line, fname, msg))
-- 
View this message in context: http://old.nabble.com/QT-draw-issue-in-1.1.0-and-PyQt4v2-missing--tp32676093p32680414.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: questions a. <que...@gm...> - 2011年10月19日 02:56:05
Thanks Jeff, that certainly speeds it up! But when I take them out of the
loop and place them elsewhere they are no longer added to the map.
Is there someway I can call them in the loop but still get it to run
quickly?
Thanks
On Fri, Oct 14, 2011 at 10:54 PM, Jeff Whitaker <js...@fa...> wrote:
> On 10/12/11 8:20 PM, questions anon wrote:
>
> Hi All,
> I keep receiving a memory error when processing many netcdf files. I
> assumed it had something to do with how I loop things and maybe needed to
> close things off properly but I recently received an error that made me
> think it might be because of matplotlib.
>
> In the code below I am looping through a bunch of netcdf files (each file
> is hourly data for one month) and within each netcdf file I am outputting a
> *png file every three hours. This works for one netcdf file (therefore one
> month) but when it begins to process the next netcdf file I receive a memory
> error (see below). Since I have tidied some of my code up it seems to
> process partly into the second file but then I still receive the memory
> error.
> I have tried a few suggestions such as:
> -Combining the dataset using MFDataset (using NETCDF4) is not an option
> because the files do not have unlimited dimension.
> - gc.collect() but that just results in a *GEOS_ERROR: bad allocation
> error*.
> -only open LAT and LON once (which worked)
>
> System Details:
> Python 2.7.2 |EPD 7.1-2 (32-bit)| (default, Jul 3 2011, 15:13:59) [MSC
> v.1500 32 bit (Intel)] on win32
>
> Any feedback will be greatly appreciated as I seem to keep ending up with
> memory errors when working with netcdf files this even happens if I am using
> a much better computer.
>
> *Most recent error: *
> Traceback (most recent call last):
> File "C:\plot_netcdf_merc_multiplot_across_multifolders_TSFC.py", line
> 78, in <module>
> plt.savefig((os.path.join(outputfolder, 'TSFC'+date_string+'UTC.png')))
> File "C:\Python27\lib\site-packages\matplotlib\pyplot.py", line 363, in
> savefig
> return fig.savefig(*args, **kwargs)
> File "C:\Python27\lib\site-packages\matplotlib\figure.py", line 1084, in
> savefig
> self.canvas.print_figure(*args, **kwargs)
> File
> "C:\Python27\lib\site-packages\matplotlib\backends\backend_wxagg.py", line
> 100, in print_figure
> FigureCanvasAgg.print_figure(self, filename, *args, **kwargs)
> File "C:\Python27\lib\site-packages\matplotlib\backend_bases.py", line
> 1923, in print_figure
> **kwargs)
> File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
> line 438, in print_png
> FigureCanvasAgg.draw(self)
> File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
> line 393, in draw
> self.renderer = self.get_renderer()
> File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
> line 404, in get_renderer
> self.renderer = RendererAgg(w, h, self.figure.dpi)
> File "C:\Python27\lib\site-packages\matplotlib\backends\backend_agg.py",
> line 59, in __init__
> self._renderer = _RendererAgg(int(width), int(height), dpi,
> debug=False)
> RuntimeError: Could not allocate memory for image
>
> *Error when I added gc.collect()*
> GEOS_ERROR: bad allocation
>
> *Old error (before adding gc.collect() )*
> *Traceback (most recent call last):
> File "d:/plot_netcdf_merc_multiplot_across_multifolders__memoryerror.py",
> line 44, in <module>
> TSFC=ncfile.variables['T_SFC'][1::3]
> File "netCDF4.pyx", line 2473, in netCDF4.Variable.__getitem__
> (netCDF4.c:23094)
> MemoryError*
>
>
>
> from netCDF4 import Dataset
> import numpy as N
> import matplotlib.pyplot as plt
> from mpl_toolkits.basemap import Basemap
> from netcdftime import utime
> from datetime import datetime
> import os
> import gc
>
>
> shapefile1="E:/
>>
>> griddeddatasamples/GIS/DSE_REGIONS"
>> MainFolder=r"E:/griddeddatasamples/GriddedData/InputsforValidation/T_SFC/"
>> OutputFolder=r"E:/griddeddatasamples/GriddedData/OutputsforValidation"
>> fileforlatlon=Dataset("E:/griddeddatasamples/GriddedData/InputsforValidation/T_SFC/TSFC_1974_01/IDZ00026_VIC_ADFD_T_SFC.nc",
>> 'r+', 'NETCDF4')
>> LAT=fileforlatlon.variables['latitude'][:]
>> LON=fileforlatlon.variables['longitude'][:]
>>
>> for (path, dirs, files) in os.walk(MainFolder):
>> for dir in dirs:
>> print dir
>> path=path+'/'
>> for ncfile in files:
>> if ncfile[-3:]=='.nc':
>> print "dealing with ncfiles:", ncfile
>> ncfile=os.path.join(path,ncfile)
>> ncfile=Dataset(ncfile, 'r+', 'NETCDF4')
>> TSFC=ncfile.variables['T_SFC'][1::3]
>> TIME=ncfile.variables['time'][1::3]
>> ncfile.close()
>> gc.collect()
>>
>> for TSFC, TIME in zip((TSFC[:]),(TIME[:])):
>> cdftime=utime('seconds since 1970年01月01日 00:00:00')
>> ncfiletime=cdftime.num2date(TIME)
>> print ncfiletime
>> timestr=str(ncfiletime)
>> d = datetime.strptime(timestr, '%Y-%m-%d %H:%M:%S')
>> date_string = d.strftime('%Y%m%d_%H%M')
>>
>> map =
>> Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,
>>
>> llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i')
>> x,y=map(*N.meshgrid(LON,LAT))
>> map.drawcoastlines(linewidth=0.5)
>> map.readshapefile(shapefile1, 'DSE_REGIONS')
>> map.drawstates()
>>
>> plt.title('Surface temperature at %s UTC'%ncfiletime)
>> ticks=[-5,0,5,10,15,20,25,30,35,40,45,50]
>> CS = map.contourf(x,y,TSFC, ticks, cmap=plt.cm.jet)
>> l,b,w,h =0.1,0.1,0.8,0.8
>> cax = plt.axes([l+w+0.025, b, 0.025, h], )
>> cbar=plt.colorbar(CS, cax=cax, drawedges=True)
>>
>> plt.savefig((os.path.join(OutputFolder,
>> 'TSFC'+date_string+'UTC.png')))
>> plt.close()
>> gc.collect()
>>
>>
> Try moving these lines
>
>
> map =
> Basemap(projection='merc',llcrnrlat=-40,urcrnrlat=-33,
>
> llcrnrlon=139.0,urcrnrlon=151.0,lat_ts=0,resolution='i')
> x,y=map(*N.meshgrid(LON,LAT))
> map.drawcoastlines(linewidth=0.5)
> map.readshapefile(shapefile1, 'DSE_REGIONS')
> map.drawstates()
>
> out of the loop.
>
> -Jeff
>
From: Eric O L. (EOL) <Eri...@no...> - 2011年10月18日 20:53:20
The following boxplot raises a warning:
>>> boxplot([1], whis=float('inf'))
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/axes.py:5487:
RuntimeWarning: invalid value encountered in double_scalars
 hi_val = q3 + whis*iq
I think that it would be nice if it did not, so that users know that things
are fine, in this case. :)
-- 
View this message in context: http://old.nabble.com/Error-with-boxplot%28%29-and-%22infinite%22-whiskers-tp32677142p32677142.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Eric F. <ef...@ha...> - 2011年10月18日 18:36:41
On 10/18/2011 06:19 AM, RuiDC wrote:
>
> As of 1.1.0, FigureCanvasQTAgg.draw() now no longer calls
> FigureCanvasAgg.draw(), and as a result I am getting problems with code that
> used to update positions/size of legend and labels during on_draw.
>
> 1. Is there a new way to get the canvas to draw? or is this a bug?
I would say it is a bug that has been lurking undetected for 9 months.
https://github.com/matplotlib/matplotlib/pull/539
I think this pull request fixes it.
Eric
>
> The "what's new in 1.1.0" page,
> http://matplotlib.sourceforge.net/users/whats_new.html refers to:
> "An rcParam entry, "backend.qt4", has been added to allow users to select
> PyQt4, PyQt4v2, or PySide."
>
> 2. I cannot see any reference to PyQt4v2 in the code, and any attempt to set
> the rcParam to use it results in a param validation error, is this a mistake
> in the web page or omission in the code?
>
> Thanks in advance
> RuiDC
From: Zoltán V. <zv...@gm...> - 2011年10月18日 18:03:45
Hi All,
I would like to ask how I can invoke the interactive option in a gtk 
GUI. Basically, I have something like this
 self.figure = Figure(figsize=(8,6), dpi=72)
 self.axis = self.figure.add_subplot(111)
 self.axis.plot(x,y)
which works, except that I have to explicitly call something like this
 def refresh_plot(self):
 self.canvas.draw_idle()
 while gtk.events_pending():
 gtk.main_iteration()
My question is, whether it is possible to set interactive(True) or ion() 
in such a case, so that the plot would be displayed immediately. If that 
is not the case, is it possible to figure out whether a graph has 
changed since some point in time? If that is an option, then I could 
just check for the state of the figure, and if necessary, call the 
refresh_plot function.
Thanks,
v923z
From: Eric F. <ef...@ha...> - 2011年10月18日 17:42:09
On 10/18/2011 06:19 AM, RuiDC wrote:
>
> As of 1.1.0, FigureCanvasQTAgg.draw() now no longer calls
> FigureCanvasAgg.draw(), and as a result I am getting problems with code that
> used to update positions/size of legend and labels during on_draw.
>
> 1. Is there a new way to get the canvas to draw? or is this a bug?
The problem is that all drawing is now deferred until a paintEvent 
occurs. draw() is using the update() method to queue the request for a 
paintEvent, where all actual drawing is done, consistent with what I 
understand to be the recommended mode of operation for QT, but maybe not 
with the way mpl operates; it has the effect of making draw() work like 
draw_idle().
It looks like what I should do is move the call to FigureCanvasAgg.draw 
back into the FigureCanvasQTAgg.draw method. I'll give it a try.
Eric
>
> The "what's new in 1.1.0" page,
> http://matplotlib.sourceforge.net/users/whats_new.html refers to:
> "An rcParam entry, "backend.qt4", has been added to allow users to select
> PyQt4, PyQt4v2, or PySide."
>
> 2. I cannot see any reference to PyQt4v2 in the code, and any attempt to set
> the rcParam to use it results in a param validation error, is this a mistake
> in the web page or omission in the code?
>
> Thanks in advance
> RuiDC
From: Benjamin R. <ben...@ou...> - 2011年10月18日 17:07:29
On Tue, Oct 18, 2011 at 11:19 AM, RuiDC <ru...@ya...> wrote:
>
>
> The "what's new in 1.1.0" page,
> http://matplotlib.sourceforge.net/users/whats_new.html refers to:
> "An rcParam entry, "backend.qt4", has been added to allow users to select
> PyQt4, PyQt4v2, or PySide."
>
> 2. I cannot see any reference to PyQt4v2 in the code, and any attempt to
> set
> the rcParam to use it results in a param validation error, is this a
> mistake
> in the web page or omission in the code?
>
>
RuiDC,
I think that might have been a little unclear. You should only need to
select 'PyQt4' or 'PySide'. If PyQt4 is selected, then (I think) the v2 is
automatically tested for internally.
Ben Root
From: RuiDC <ru...@ya...> - 2011年10月18日 16:20:06
As of 1.1.0, FigureCanvasQTAgg.draw() now no longer calls
FigureCanvasAgg.draw(), and as a result I am getting problems with code that
used to update positions/size of legend and labels during on_draw.
1. Is there a new way to get the canvas to draw? or is this a bug?
The "what's new in 1.1.0" page,
http://matplotlib.sourceforge.net/users/whats_new.html refers to:
"An rcParam entry, "backend.qt4", has been added to allow users to select
PyQt4, PyQt4v2, or PySide."
2. I cannot see any reference to PyQt4v2 in the code, and any attempt to set
the rcParam to use it results in a param validation error, is this a mistake
in the web page or omission in the code?
Thanks in advance
RuiDC
-- 
View this message in context: http://old.nabble.com/QT-draw-issue-in-1.1.0-and-PyQt4v2-missing--tp32676093p32676093.html
Sent from the matplotlib - users mailing list archive at Nabble.com.
From: Ryan N. <rne...@gm...> - 2011年10月18日 15:22:43
As far as I know, the 'arrow' function is not recommended. The 'annotate'
function has a lot more features. Here's your code with the annotate
function:
import pylab
from scipy import optimize
import numpy
x1=numpy.arange(-4000,1000,0.1)
x2=numpy.arange(-1000,4000,0.1)
y1=100*numpy.square(x1+1500)
y2=100*numpy.square(x2-1500)-0.1e9
pylab.figure()
pylab.plot(x1,y1,x2,y2)
pylab.grid(True)
pylab.annotate('',(-3000,0),(-3000,-100000000),
 arrowprops=dict(arrowstyle='<->'))
pylab.xlim(-5000,5000)
pylab.ylim(-2e8,7e8)
pylab.show()
Hope that helps a little.
Ryan
On Mon, Oct 17, 2011 at 12:02 PM, Piter_ <x....@gm...> wrote:
> Hi all
> I want to draw an two headed arrow between two points.
> But I get a line. What I am doing wrong? I actually try to plot an
> image similar to this one:
>
> http://upload.wikimedia.org/wikipedia/commons/a/a3/Parameters_of_the_Marcus_Equation.JPG
> may be I can use an annotate function for this.
> Thanks for help.
> Petro.
> ########
> import pylab
> from scipy import optimize
> import numpy
> x1=numpy.arange(-4000,1000,0.1)
> x2=numpy.arange(-1000,4000,0.1)
> y1=100*numpy.square(x1+1500)
> y2=100*numpy.square(x2-1500)-0.1e9
> pylab.figure()
> pylab.plot(x1,y1,x2,y2)
> pylab.grid("True")
> pylab.arrow(-3000,0,0,-100000000,width=1)
> pylab.xlim(-5000,5000)
> pylab.ylim(-2e8,7e8)
> pylab.show()
> ###########x
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Martin H. <hof...@gm...> - 2011年10月18日 11:16:41
Thank you for the tip. I actually had played around with 
matplotlib.rcdefaults() before, but that didn't work. I tried now the 
using exactly the clear_state function you suggested. Since it still 
didn't work, I finally found out that I had a very similar problem with 
another module from which I determine axes, figure size and other 
things. So, thank you very much, that helped me a lot and now things 
work the way I want!
On Die 18 Okt 2011 04:45:27 CEST, John Hunter wrote:
> On Mon, Oct 17, 2011 at 2:57 PM, tinux <hof...@gm...> wrote:
>>
>> I have around 100 python files, that each create one figure using matplotlib.
>> Since I want to use all CPU cores, I basically did "for filename in files:
>> execfile(filename)" using a python script. However, this does not produce
>> the same output as running each file separately (for instance axes, figure
>> size are sometime wrong).
>> I _think_ I narrowed it down to this: In all files I need to do
>> "matplotlib.rcParams(update)". I guess that this influences the matplotlib
>> rc parameters and thus somehow values from some figures are used for others.
>>
>> So, my question is, how can I do something like
>> "matplotlib.rcParams(update)" so that it does not influence other scripts
>> that are run in parallel using 'execfile'? Or, how do I set rc parameters
>> for one specific script?
>>
>> BTW, I tried 'pp' and 'multiprocessing', same problem with both.
>
> The problem is that the rc params are module level in matplotlib so in
> a persistent process like ipython if one script modifies the rc
> params, subsequent files executed in the same process will be
> affected. You can restore the rc params to their default state by
> doing before each call to execfile
>
> import matplotlib
> matplotlib.rc_file_defaults()
>
>
> We face the same issue in the "plot_directive" which we use when
> building the matplotlib documentation. We define a function
> "clear_state" in
>
> https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/sphinxext/plot_directive.py#L484
>
> which closes all open figures, restore the rc defaults, and the
> updates the defaults to an rc dictionary of the parameters we want for
> each run.
From: Chao Y. <cha...@gm...> - 2011年10月18日 08:52:27
two lines:
ax.set_xlim(min(ax.get_xlim()+ax.get_ylim()),max(ax.get_xlim()+ax.get_ylim()))
ax.set_ylim(ax.get_xlim())
chao
2011年10月18日 Chao YUE <cha...@gm...>
> Dear all,
>
> I am making a 1:1 ratio plot to compare data.
> I can write a small part of code to detect which range of the x or y axis
> is bigger and then adjust the axis of shorter range to have the same range
> with the longer one.
> and use set_aspect('equal') method to have the same tick interval on both
> axises.
> but is there an automatic method to do this job?
>
> Thanks,
>
> Chao
>
> --
>
> ***********************************************************************************
> Chao YUE
> Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
> UMR 1572 CEA-CNRS-UVSQ
> Batiment 712 - Pe 119
> 91191 GIF Sur YVETTE Cedex
> Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
>
> ************************************************************************************
>
>
-- 
***********************************************************************************
Chao YUE
Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
UMR 1572 CEA-CNRS-UVSQ
Batiment 712 - Pe 119
91191 GIF Sur YVETTE Cedex
Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
************************************************************************************
From: Chao Y. <cha...@gm...> - 2011年10月18日 08:35:38
Dear all,
I am making a 1:1 ratio plot to compare data.
I can write a small part of code to detect which range of the x or y axis is
bigger and then adjust the axis of shorter range to have the same range with
the longer one.
and use set_aspect('equal') method to have the same tick interval on both
axises.
but is there an automatic method to do this job?
Thanks,
Chao
-- 
***********************************************************************************
Chao YUE
Laboratoire des Sciences du Climat et de l'Environnement (LSCE-IPSL)
UMR 1572 CEA-CNRS-UVSQ
Batiment 712 - Pe 119
91191 GIF Sur YVETTE Cedex
Tel: (33) 01 69 08 29 02; Fax:01.69.08.77.16
************************************************************************************
From: Benjamin R. <ben...@ou...> - 2011年10月18日 03:52:09
On Mon, Oct 17, 2011 at 10:42 PM, pratik <pra...@gm...> wrote:
> Is there a function that can draw an ellipsoid like matlab's ellipsoid
> function?
> relevant:
>
> http://stackoverflow.com/questions/2153768/draw-ellipse-and-ellipsoid-in-matlab
>
> Thanks,
>
>
from matplotlib.patches import Ellipse
import matplotlib.pyplot as plt
x = 0.5
y = 0.5
a = 4
b = 1
theta = 45.0
ell = Ellipse((x, y), a, b, theta)
ax = plt.gca()
ax.add_artist(ell)
plt.show()
There are some additional kwargs to the Ellipse constructor that allows you
to control color and such.
I hope that helps!
Ben Root
From: pratik <pra...@gm...> - 2011年10月18日 03:41:32
Is there a function that can draw an ellipsoid like matlab's ellipsoid
function?
relevant:
http://stackoverflow.com/questions/2153768/draw-ellipse-and-ellipsoid-in-matlab
Thanks,
From: John H. <jd...@gm...> - 2011年10月18日 02:45:53
On Mon, Oct 17, 2011 at 2:57 PM, tinux <hof...@gm...> wrote:
>
> I have around 100 python files, that each create one figure using matplotlib.
> Since I want to use all CPU cores, I basically did "for filename in files:
> execfile(filename)" using a python script. However, this does not produce
> the same output as running each file separately (for instance axes, figure
> size are sometime wrong).
> I _think_ I narrowed it down to this: In all files I need to do
> "matplotlib.rcParams(update)". I guess that this influences the matplotlib
> rc parameters and thus somehow values from some figures are used for others.
>
> So, my question is, how can I do something like
> "matplotlib.rcParams(update)" so that it does not influence other scripts
> that are run in parallel using 'execfile'? Or, how do I set rc parameters
> for one specific script?
>
> BTW, I tried 'pp' and 'multiprocessing', same problem with both.
The problem is that the rc params are module level in matplotlib so in
a persistent process like ipython if one script modifies the rc
params, subsequent files executed in the same process will be
affected. You can restore the rc params to their default state by
doing before each call to execfile
 import matplotlib
 matplotlib.rc_file_defaults()
We face the same issue in the "plot_directive" which we use when
building the matplotlib documentation. We define a function
"clear_state" in
 https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/sphinxext/plot_directive.py#L484
which closes all open figures, restore the rc defaults, and the
updates the defaults to an rc dictionary of the parameters we want for
each run.
From: John H. <jd...@gm...> - 2011年10月18日 02:33:33
On Mon, Oct 17, 2011 at 6:58 PM, Floyd John
<Joh...@en...> wrote:
> Hello,
>
> I have read your instruction for bug reporting but this is fairly simple.
>
> There is a call to self.get_cpp_triangulation() which exists but there is also a call to self._get_cpp_triangulation at line 174 to obtain the neighbours.
>
> Easy to fix.
Thanks for the report. Even easy issues are best reported on the
issue tracker so they will be less likely to fall between the cracks,
we can tag them and assign developers to them, etc.
I've opened https://github.com/matplotlib/matplotlib/issues/535
JDH
From: Jae-Joon L. <lee...@gm...> - 2011年10月18日 01:58:25
Somehow, Figure.legend flattens the given handle list and this is the
cause of the problem.
https://github.com/matplotlib/matplotlib/blob/master/lib/matplotlib/figure.py#L994
Does anyone know why this is necessary?
I just filed a pull request to remove this.
https://github.com/matplotlib/matplotlib/pull/534/files
Meanwhile, you may do
from matplotlib.legend import Legend
l = Legend(fig, h, l, loc='lower right')
fig.legends.append(l)
This should be equivalent to fig.legend(h,l,loc='lower right').
Or, if you don't need axes legend, you may do
legend(h,l,loc='lower right', bbox_to_anchor=[0,0,1,1],
 bbox_transform=fig.transFigure)
Regards,
-JJ
On Tue, Oct 18, 2011 at 6:59 AM, Sterling Smith <sm...@fu...> wrote:
> Let me first say that I appreciate the work that the developers have put into matplotlib. You're doing a great job.
>
> I have filed a bug report at
>
> https://github.com/matplotlib/matplotlib/issues/533
>
> wherein I post the following
>
> Consider:
>
> from pylab import *
> x = arange(0,1,.01)
> y = x**2
> fig = figure(2)
> ax = fig.add_subplot(111)
> errorbar(x,y,yerr=x/10.,label='$x^2$')
> errorbar(x,y**3,yerr=x/10.,label='$x^6$')
> legend(loc='upper center')
> h,l = ax.get_legend_handles_labels()
> fig.legend(h,l,loc='lower right')
>
>
> I am getting the right legend for the axes based legend, but the figure based legend seems to be using the different parts of the errorbar for subsequent handles, instead of using them as a group. From what I can tell, this has appeared since the upgrade to version 1.1.0.
>
> I am running on Linux, python 2.7, gtkAgg backend.
>
> Thanks,
> Sterling
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2d-oct
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
From: Floyd J. <Joh...@en...> - 2011年10月18日 00:34:11
Hello,
I have read your instruction for bug reporting but this is fairly simple.
There is a call to self.get_cpp_triangulation() which exists but there is also a call to self._get_cpp_triangulation at line 174 to obtain the neighbours. 
Easy to fix. 
Regards
John
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
This email is intended for the addressee(s) named and may contain confidential and/or privileged information. 
If you are not the intended recipient, please notify the sender and then delete it immediately.
Any views expressed in this email are those of the individual sender except where the sender expressly and with authority states them to be the views of the Office of Environment and Heritage, NSW Department of Premier and Cabinet.
PLEASE CONSIDER THE ENVIRONMENT BEFORE PRINTING THIS EMAIL
3 messages has been excluded from this view by a project administrator.

Showing results of 256

<< < 1 .. 3 4 5 6 7 .. 11 > >> (Page 5 of 11)
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 によって変換されたページ (->オリジナル) /