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



Showing 6 results of 6

From: Matthew K. G. <mk...@cs...> - 2007年01月13日 19:42:55
Hmm, I tried that but it didn't work.
I also tried just using ax3d.hold(False), and also tried 
pylab.hold(False), but both times I still kept on getting multiple surfaces.
-- Matt
Eric Firing wrote:
> Matthew Koichi Grimes wrote:
>> I'd like to plot a 3D surface and its contours as the surface 
>> evolves. When I do it by simply calling plot_surface and/or contour3D 
>> multiple times, the plot doesn't clear the old surface before 
>> plotting the new one, so I get a whole bunch of surfaces accumulating 
>> in the same plot:
>>
>> <snip>
>> import pylab as P
>> import matplotlib.axes3d as P3
>>
>> # bad: plots multiple surfaces on top of each other
>> def animatePlot():
>>
>> P.ion() fig = P.gcf()
>> ax3d = P3.Axes3D(self.fig)
>> for i in xrange(100):
>> x, y, z = getLatestData(i)
>> ax3d.plot_surface( x, y, z )
>> ax3d.contour3D( x, y, z )
>> P.draw()
>
> Try putting "ax3d.hold(False)" before the plot_surface, and 
> "ax3d.hold(True)" after it.
>
> I haven't tried it, but I think this should accomplish what you want.
>
> Eric
From: Eric F. <ef...@ha...> - 2007年01月13日 19:04:21
Alexander 'Leo' Bergolth wrote:
> Hi!
> 
> I'd like to plot a graph with a certain range left out to allow better
> visualization of outliers. The axis should appear broken at this
> position to indicate that the scaling is interrupted.
> (pychart calls it "zap marks", see
> http://home.gna.org/pychart/doc/module-zap.html)
> 
> Is there a way to do this with matplotlib?
No, this has been requested but never implemented. Someone may have 
come up with a manual method, but it would require essentially drawing 
the axes manually from primitives, and manipulating the values of the 
outliers.
Eric
> 
> Thanks,
> --leo
From: Alexander 'L. B. <le...@st...> - 2007年01月13日 17:58:17
Hi!
I'd like to plot a graph with a certain range left out to allow better
visualization of outliers. The axis should appear broken at this
position to indicate that the scaling is interrupted.
(pychart calls it "zap marks", see
http://home.gna.org/pychart/doc/module-zap.html)
Is there a way to do this with matplotlib?
Thanks,
--leo
-- 
-----------------------------------------------------------------------
Ale...@wu... Fax: +43-1-31336-906050
Zentrum fuer Informatikdienste - Wirtschaftsuniversitaet Wien - Austria
From: Mark B. <ma...@gm...> - 2007年01月13日 10:47:16
I think this is an excellent idea, Eric.
I would love it if this feature would also work in contour.
The difficulty I see is that an axis needs to know whether an image or
contour plot has been added. If so, it needs access to the array with
the data to show the z value.
I am thinking out loud here.
So an axis needs an attribute 'showz' or something, that gets set, and
a pointer to the array needs to be set. What to do when you overlay
two contour plots? Not sure yet. Then the toolbar needs to be modified
to take that into account and call the appropriate function to display
the z value.
I think this would be a great feature.
Does anybody have suggestions for a clean implementation?
Mark
>
> Message: 3
> Date: 2007年1月12日 14:13:50 +0100
> From: Eric Emsellem <ems...@ob...>
> Subject: [Matplotlib-users] x=, y=, z=??
> To: mat...@li...
> Message-ID: <45A...@ob...>
> Content-Type: text/plain; charset=ISO-8859-1
>
> Dear all,
>
> I am coming back to an issue for which I didn't get a direct answer
> (except for a very nice module from Angus McMorland!):
>
> - at the moment different backends in mpl automatically provides, when
> an image (or a plot) is displayed with e.g. imshow (plot), the
> coordinates x and y directly in the toolbar.
>
> - When it is indeed an image wich is displayed, it would, in my opinion
> makes a LOT of sense to also display the "z" coordinate, namely the
> 'intensity' value of the pixel of the image on which the cursor is
> standing.
>
> The questions are then: does this also make sense to you, and if yes,
> would it be possible for someone to implement it as an intrinsic feature
> of mpl backends? (I am not competent to answer the feasibility part
> here, although the module Angus nicely provided on the list is an
> excellent example, even if it adds one more layer which may be avoidable).
>
> thanks for any input here!
> cheers
>
> Eric
>
From: Eric F. <ef...@ha...> - 2007年01月13日 06:14:44
Matthew Koichi Grimes wrote:
> I'd like to plot a 3D surface and its contours as the surface evolves. 
> When I do it by simply calling plot_surface and/or contour3D multiple 
> times, the plot doesn't clear the old surface before plotting the new 
> one, so I get a whole bunch of surfaces accumulating in the same plot:
> 
> <snip>
> import pylab as P
> import matplotlib.axes3d as P3
> 
> # bad: plots multiple surfaces on top of each other
> def animatePlot():
> 
> P.ion() 
> fig = P.gcf()
> ax3d = P3.Axes3D(self.fig)
> 
> for i in xrange(100):
> x, y, z = getLatestData(i)
> ax3d.plot_surface( x, y, z )
> ax3d.contour3D( x, y, z )
> P.draw()
Try putting "ax3d.hold(False)" before the plot_surface, and 
"ax3d.hold(True)" after it.
I haven't tried it, but I think this should accomplish what you want.
Eric
From: Matthew K. G. <mk...@cs...> - 2007年01月13日 00:17:53
I'd like to plot a 3D surface and its contours as the surface evolves. 
When I do it by simply calling plot_surface and/or contour3D multiple 
times, the plot doesn't clear the old surface before plotting the new 
one, so I get a whole bunch of surfaces accumulating in the same plot:
<snip>
import pylab as P
import matplotlib.axes3d as P3
 # bad: plots multiple surfaces on top of each other
 def animatePlot():
 P.ion() 
 fig = P.gcf()
 ax3d = P3.Axes3D(self.fig)
 
 for i in xrange(100):
 x, y, z = getLatestData(i)
 ax3d.plot_surface( x, y, z )
 ax3d.contour3D( x, y, z )
 P.draw()
</snip>
The one workaround I've found so far is to recreate the entire Axes3D 
object at each iteration:
<snip>
import pylab as P
import matplotlib.axes3d as P3
 # Better: clears previous surface & contours before re-plotting
 # Slower.
 def animatePlot():
 P.ion() 
 fig = P.gcf()
 ax3d = P3.Axes3D(self.fig)
 
 for i in xrange(100):
 # P.clf() # uncomment to speed up, introduces flicker
 self.fig = P.gcf()
 self.ax3d = P3.Axes3D(self.fig)
 x, y, z = getLatestData(i)
 ax3d.plot_surface( x, y, z )
 ax3d.contour3D( x, y, z )
 P.draw()
</snip>
... but this is significantly slower than the first method. If I 
uncomment the P.clf() call above, it actually gets faster (??), but 
there's some unpleasant screen flicker. What's the Right Way to replot a 
changing surface+contour plot?
Thanks,
-- Matt

Showing 6 results of 6

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