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

Showing results of 166

1 2 3 .. 7 > >> (Page 1 of 7)
From: Kenneth M. <ken...@sb...> - 2004年07月30日 16:57:44
Does any exist? I looked through the distribution and didn't see 
anything,
but then, that doesn't prove anything :-)
Thanks,
Ken McDonald
From: Vineet J. <vi...@al...> - 2004年07月29日 21:43:20
After making changes to has_data I get the following:
(0.0, 400.0)
(0.0, 400.0)
(0.0, 400.0)
which is not correct it should be:
(300.0, 400.0)
(100.0, 400.0)
(100.0, 400.0)
-----Original Message-----
From: mat...@li...
[mailto:mat...@li...]On Behalf Of John
Hunter
Sent: Thursday, July 29, 2004 2:35 PM
To: Vineet Jain
Cc: matplotlib-users
Subject: Re: [Matplotlib-users] Settling y-axis scaling
>>>>> "Vineet" == Vineet Jain <vi...@al...> writes:
 Vineet> ok I think I've found the problem and a possible solution:
The order of the plots should not make a difference. Clearly it does
so this is a bug. Could you try editing matplotlib.axes.Axes.has_data
(on or around line 323 of axes.py) and replace it with
 def has_data(self):
 return (
 len(self._collections) + 
 len(self._images) +
 len(self._lines) +
 len(self._patches))>0
and see if this fixes the problem. Ie, with this change, order of
plot commands should not affect the final ylim.
Thanks,
JDH
-------------------------------------------------------
This SF.Net email is sponsored by OSTG. Have you noticed the changes on
Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now,
one more big change to announce. We are now OSTG- Open Source Technology
Group. Come see the changes on the new OSTG site. www.ostg.com
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: John H. <jdh...@ac...> - 2004年07月29日 19:59:12
>>>>> "Vineet" == Vineet Jain <vi...@al...> writes:
 Vineet> ok I think I've found the problem and a possible solution:
The order of the plots should not make a difference. Clearly it does
so this is a bug. Could you try editing matplotlib.axes.Axes.has_data
(on or around line 323 of axes.py) and replace it with
 def has_data(self):
 return (
 len(self._collections) + 
 len(self._images) +
 len(self._lines) +
 len(self._patches))>0
and see if this fixes the problem. Ie, with this change, order of
plot commands should not affect the final ylim.
Thanks,
JDH
From: Vineet J. <vi...@al...> - 2004年07月29日 19:02:37
ok I think I've found the problem and a possible solution:
left, width = 0.1, 0.8
x = range(100)
closes1 = range(100, 200)
closes2 = range(200, 300)
closes3 = range(300, 400)
f = figure(1, facecolor='w', figsize=(10, 7), dpi=96)
rect2 = [left, 0.1, width, 0.8]
axMiddle = axes(rect2, axisbg='#f6f6f6')
axMiddle.yaxis.tick_left()
plot_day_summary2(axMiddle, closes3, closes3, closes3, closes3)
print axMiddle.get_ylim()
axMiddle.plot(x, closes1, color='r', linewidth=1)
print axMiddle.get_ylim()
axMiddle.plot(x, closes2, color='r', linewidth=1)
print axMiddle.get_ylim()
This code prints which is wrong:
(300.0, 400.0)
(100.0, 200.0)
(100.0, 300.0)
However when I move the plot_day_summary2 to the end like:
left, width = 0.1, 0.8
x = range(100)
closes1 = range(100, 200)
closes2 = range(200, 300)
closes3 = range(300, 400)
f = figure(1, facecolor='w', figsize=(10, 7), dpi=96)
rect2 = [left, 0.1, width, 0.8]
axMiddle = axes(rect2, axisbg='#f6f6f6')
axMiddle.yaxis.tick_left()
axMiddle.plot(x, closes1, color='r', linewidth=1)
print axMiddle.get_ylim()
axMiddle.plot(x, closes2, color='r', linewidth=1)
print axMiddle.get_ylim()
plot_day_summary2(axMiddle, closes3, closes3, closes3, closes3)
print axMiddle.get_ylim()
I get the correct value:
(100.0, 200.0)
(100.0, 300.0)
(100.0, 400.0)
-----Original Message-----
From: John Hunter [mailto:jdh...@ac...]
Sent: Thursday, July 29, 2004 11:17 AM
To: Vineet Jain
Subject: Re: [Matplotlib-users] Settling y-axis scaling
>>>>> "Vineet" == Vineet Jain <vi...@al...> writes:
 Vineet> That does not seem to work (or I'm doing something
 Vineet> wrong). The last call to the function just returns the min
 Vineet> max from the last plot.
Are you trying to get the min and max across several axes?
ax.get_ylim should return the limits for a single axes which
incorporates the data from several 'plot' commands on that axes. If
you are trying to aggregate across axes, you'll need a different
approach.
If you could post some example code, it would probably help clarify.
JDH
From: John H. <jdh...@ac...> - 2004年07月29日 16:14:26
>>>>> "Vineet" == Vineet Jain <vi...@al...> writes:
 Vineet> Ok Figured out the solution but still have a problem.
 Vineet> There is a function get_ylim which gets you the ymin and
 Vineet> ymax values. I'm plotting multiple lines on the same axes
 Vineet> object. However the get_ylim returns different values
 Vineet> after each plot. I'm currently having to do it a numbe rof
 Vineet> times and reset my min and max values. Is there a way to
 Vineet> just do it once where it accounts for all lines plotted on
 Vineet> the axis?
How about calling the function only once after you have added all the
lines to your plot? Will this work for you?
JDH
From: Vineet J. <vi...@al...> - 2004年07月29日 14:56:30
Ok Figured out the solution but still have a problem.
There is a function get_ylim which gets you the ymin and ymax values. I'm
plotting multiple lines on the same axes object. However the get_ylim
returns different values after each plot. I'm currently having to do it a
numbe rof times and reset my min and max values. Is there a way to just do
it once where it accounts for all lines plotted on the axis?
Thanks,
-----Original Message-----
From: mat...@li...
[mailto:mat...@li...]On Behalf Of Vineet
Jain
Sent: Thursday, July 29, 2004 8:48 AM
To: matplotlib-users
Subject: [Matplotlib-users] Settling y-axis scaling
couple of questions on:
1. Is there any way to increase the y axis min by i% and y axis max by j%
where y axis min and y axis max are automatically calculated by matplotlib.
I have to plot many charts and if I calculate the min and max myself and
then use self.axMiddle.set_ylim() to set the values it takes twice as much
time to generate the chart.
2. Alternatively, is there a way to get what the current ymin and ymax
values are then I can use set_ylim to updated those
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Matplotlib-users mailing list
Mat...@li...
https://lists.sourceforge.net/lists/listinfo/matplotlib-users
From: Vineet J. <vi...@al...> - 2004年07月29日 14:00:41
couple of questions on:
1. Is there any way to increase the y axis min by i% and y axis max by j%
where y axis min and y axis max are automatically calculated by matplotlib.
I have to plot many charts and if I calculate the min and max myself and
then use self.axMiddle.set_ylim() to set the values it takes twice as much
time to generate the chart.
2. Alternatively, is there a way to get what the current ymin and ymax
values are then I can use set_ylim to updated those
From: Darren D. <dd...@co...> - 2004年07月28日 19:27:49
Attachments: dd55.vcf
Hi Everyone,
This week I started looking into saving my work to a pickled file so I 
could reload them later and retain their names. In Matlab, all or some 
variables in a workspace can be saved to a .mat file, and it seems 
possible to do this with Python. comp.lang.python gave me some ideas, 
and I wonder if this would be useful to matplotlib.
The primary problems, as I see them, are:
1) all objects are not picklable
2) a variable's class must be defined before instantiating by unpickling
3) others that I am not aware of (well, there's always that)
Have you guys looked into a way to save variables from an interactive 
session? I'm sure there is an easier way; my not-too-Pythonic solution 
looks like:
import shelve
myvars = {}
for key in vars().keys():
 myvar = vars()[key]
 if str(type(myvar)) == "<type 'module'>": print "can't pickle <type 
'module'>"
 elif: str(type(myvar)) == "<type 'function'>": print "can't pickle 
<type 'function'>"
 elif: str(type(myvar)) == "<type 'unpicklable'>": print "can't 
pickle <type 'module'>"
 else: myvars.update({key:myvar})
s = shelve.open('myvars.mpl',protocol=-1)
s.update(myvars)
s.close()
and reloading the data:
import shelve
s = shelve.open('myvars.mpl')
for key in s.keys():
	try:
		vars().update({key:s[key]})
	except:
		print type(s[key]), ' is not currently defined.'
What do you think? A try/except PicklingError might be possiblem, but according to the pickling docs, an unspecified number of bytes may have been written to the file before the 
PicklingError exception is raised.
Also, is there any interest in saving figures as pickled objects, to be reloaded like Matlab's .fig files? 
Darren
-- 
Darren S. Dale
dd...@co...
PGP public key available
From: John H. <jdh...@ac...> - 2004年07月28日 13:03:22
>>>>> "Jin-chung" == Jin-chung Hsu <hs...@st...> writes:
 Jin-chung> One would expect the following will fill up the plot
 Jin-chung> window:
 >>>> n=zeros(20000) n[::2]=1 plot(n)
 Jin-chung> The plot "stops" a little more than half way, as if it
 Jin-chung> "runs out of ink".
 Jin-chung> It happens on Linux as well as Solaris, using either
 Jin-chung> numarray and Numeric, and both TkAgg and GTKAgg, but
 Jin-chung> not GTK. Is this due to some AGG limitation?
Hi Jin-chung,
This is indeed an agg problem. It is not a limitation in the sense of
'n is too large'. It looks like a bug in agg but it is too early to
say.
For example, this is OK
 >>> plot(n)
 >>> ax.set_ylim((-2,2))
as is 
 >>> plot(n, 'o')
or
 >>> plot(rand(20000))
Ie, the problem seems to occur when plotting solid lines where many of
the y values are similar, but is not a problem with the length of n,
per se.
I was able to reproduce the bug in pure agg c++ and posted to the agg
mailing list. Maxim (agg author) is on vacation, but I suspect he'll
provide some insight when he returns.
Thanks for letting me know,
JDH
From: Gregory L. <gre...@ff...> - 2004年07月28日 12:56:51
On Wed, 2004年07月28日 at 14:11, John Hunter wrote:
> >>>>> "Mark" == Mark Engelhardt <ma...@st...> writes:
> 
> Mark> Hi, I am not in interactive mode, I am writing scripts that
> Mark> handle a bunch of data and then plot it all. However, when
> Mark> show() is called, the script stops and waits for all the
> Mark> windows it opens to be closed before continuing. What I was
> Mark> hoping for was a way to have the plots be drawn in windows
> Mark> that were no longer hooked into the script, such that the
> Mark> script could continue running (to completion) regardless of
> Mark> what happened to the open windows. I did try 'draw()',
> Mark> which does not appear to open any new windows.
> 
> Hi Mark, 
> 
> Thanks for the explanation. Now I understand what you are trying to
> do. You are right about draw, all it does is redraw an existing
> figure, eg if you have changed some data in it.
Hi,
I think I recall I observed the requested behavior (i.e. get hand back
in interractive window or script after a show()) in previous version of
matplotlib.
I remember this cause reproducing this non-blocking behavior of show()
has proven to be a little bit hard to reproduce when developing FltkAgg
backend (I have done it using thread, and it works, so a solution would
be to use this backend when it is integrated).
But with TkAgg and GTKAgg, cvs version, on linux, it does not work
anymore (i.e. show() do not return hand, as mentioned)
I tested some earlier version (0.54 on windows, TkAgg) to see if I have
so false souvenir, but it indeed work as Mark want (i.e. show() is
non-blocking )...So I guess something has changed in the show()
mechanism since, maybe to deal with the new event mechanism?
Best regards,
Greg.
From: John H. <jdh...@ac...> - 2004年07月28日 12:35:27
>>>>> "Mark" == Mark Engelhardt <ma...@st...> writes:
 Mark> Hi, I am not in interactive mode, I am writing scripts that
 Mark> handle a bunch of data and then plot it all. However, when
 Mark> show() is called, the script stops and waits for all the
 Mark> windows it opens to be closed before continuing. What I was
 Mark> hoping for was a way to have the plots be drawn in windows
 Mark> that were no longer hooked into the script, such that the
 Mark> script could continue running (to completion) regardless of
 Mark> what happened to the open windows. I did try 'draw()',
 Mark> which does not appear to open any new windows.
Hi Mark, 
Thanks for the explanation. Now I understand what you are trying to
do. You are right about draw, all it does is redraw an existing
figure, eg if you have changed some data in it.
You have to get a little bit into the GTK API / event handling
mechanism to do this right. One way is to use the full blown gtk API
with matplotlib, as in examples/embedding_in_gtk*.py.
The easier way is to just use as much of the API as you need, and take
over the function of the backend 'show' function. You'll be doing an
end run around the matplotlib.matlab figure manager, which means some
of these won't work (like gcf, close, etc.). That's OK, because you
won't be using the matplotlib.matlab interface. Do not import
matplotlib.matlab with this approach as the result is undefined!
There are a few things you need to do
 * Define function(s) / class(es) which create your figures
 * Define a main function which call these functions as necessary.
 Return False from this function
 * Add main to the gtk idle handler. Returning False in 'main' will
 cause this function to be called only once.
 * Start the gtk mainloop yourself. After gtk is started, your
 'main' function will be called and you're off to the races.
 * If there is something you want from matplotlib.matlab, say the
 'axis' command, just look at the src code to see how axis is
 implemented with the matplotlib API and make those calls yourself.
You may want to spend some time with the pygtk class reference at
http://www.pygtk.org/pygtk2reference/gtk-class-reference.html and the
matplotlib class reference at
http://matplotlib.sourceforge.net/classdocs.html. In the example
below
 * canvas inherits from gtk.DrawingArea and
 backends.FigureCanvasGTK (which in turn derives from 
 backend_bases.FigureCanvasBase)
 * manager is a backends.backend_gtk.FigureManagerGTK
 which inherits from backend_bases.FigureManagerBase
 * manager.window is a gtk.Window() (you can also hide or close this
 window with pygtk API calls)
 * ax is a axes.Subplot which inherits from axes.Axes
Here is an example
#!/usr/bin/env python
import matplotlib
matplotlib.use('GTKAgg')
from matplotlib.backends.backend_gtkagg import new_figure_manager
from matplotlib.numerix import *
import gtk
def main(*args):
 manager1 = new_figure_manager(1)
 canvas1 = manager1.canvas
 fig1 = canvas1.figure
 ax1 = fig1.add_subplot(111)
 ax1.plot([1,2,3])
 manager1.window.show() # non blocking
 manager2 = new_figure_manager(2)
 canvas2 = manager2.canvas
 fig2 = canvas2.figure
 ax2 = fig2.add_subplot(111)
 ax2.plot([6,5,4])
 manager2.window.show()
 return False
gtk.idle_add(main)
gtk.mainloop()
From: Mark E. <ma...@st...> - 2004年07月28日 05:44:12
Hi,
I am not in interactive mode, I am writing scripts that handle a bunch 
of data and then plot it all. However, when show() is called, the 
script stops and waits for all the windows it opens to be closed before 
continuing. What I was hoping for was a way to have the plots be drawn 
in windows that were no longer hooked into the script, such that the 
script could continue running (to completion) regardless of what 
happened to the open windows. I did try 'draw()', which does not 
appear to open any new windows.
In answer to your questions, here are the relevant lines from my 
.matplotlibrc:
backend : GTKAgg # the default backend
numerix : numarray #Numeric # Numeric or numarray
interactive : False # see 
http://matplotlib.sourceforge.net/interactive.htm
Thanks for everyone's help on subplot positioning (or avoidance ;)) - 
I'll take a look.
- Mark
On Jul 26, 2004, at 2:06 PM, John Hunter wrote:
> Mark> 2. Is there a way to make the 'show()' command execute so
> Mark> that the script keeps running (instead of waiting for the
> Mark> windows to be closed), and to have the output persist past
> Mark> the end of the run?
>
> You should only call show once per script. I repeat, you should only
> call show once per script -
> http://matplotlib.sourceforge.net/faq.html#SHOW
>
> matplotlib-0.60.2 has a "draw" command to force a canvas redraw. This
> is non blocking. Earlier versions allow you to do, equivalently,
> get_current_fig_manager().canvas.draw(). Does this do what you want?
> I am not sure what you are after when you write "have the output
> persist past the end of the run". Launch the python interpreter?
>
> Please let me know what backend you are using and explain a bit more
> what it is you are trying to do. Are you running in interactive mode?
>
> JDH
>
From: Chris F. <cf...@th...> - 2004年07月28日 04:31:16
 > Which backend are you using? Chris Fuller submitted a tk widget for
 > just this purpose -
 > http://sourceforge.net/mailarchive/message.php?msg_id=8901913. It
 > would be fairly easy to port to other GUIs. It"s on the list of things
 > to do, but I haven"t had time. Other than that, your best option is
 > to manually set the axes size, eg using the "axes" command or calling
the fig_layout.py module is quite agnostic w.r.t. backend, the included demo
(layout_demo.py) is where TkAgg is invoked. The only dependency is on the figure
object itself, so there should be no problem using this functionality with any
backend. The embedded documentation should get you started.
You may need to use matlab.gcf() to get this figure object, if you are not using
the object oriented interface (for instance, interactively)
Chris
From: John H. <jdh...@ac...> - 2004年07月27日 13:56:45
>>>>> "Michael" == Michael Oevermann <mic...@tu...> writes:
 Michael> I have just installed the latest CVS version of
 Michael> matplotlib. The EPS/PS backend works well with latex
 Michael> commands and also the png backend, but the GUI does not
 Michael> work anymore. When I ran any of the examples in the
 Michael> examples directory I get the message
 Michael> ** (simple_plot.py:5668): WARNING **: Cannot open font
 Michael> file for font Verdana 10
 Michael> ** (simple_plot.py:5668): WARNING **: FCannot open
 Michael> fallback font, nothing to do
 Michael> and python terminates. I have set the TTFPATH environment
 Michael> variable and I have added the correct font path in
 Michael> font_manager.py which didn't help. After severe problems
 Michael> with the gtk and pygtk installation via fink I decided to
 Michael> do a manual installation by hand and everything compiled
 Michael> without any problems.
Hi Michael,
Sorry for the delay in getting back to you. 
I don't believe this error message is coming from matplotlib itself.
Rather, I think it's coming from your GUI. If you GUI is trying to
load a font, that almost certainly means you are not using one of the
*Agg backends: TkAgg, GTKAgg or WXAgg. Which backend are you trying
to use? From your message I assume GTK. If GTKAgg is an option for
you, this will likely cure your problem.
However, we would like to sort this out for plain vanilla GTK as well.
Here are a thread that might have some relevant information for you -
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&threadm=FLkS.6Zc.13%40gated-at.bofh.it&rnum=3&prev=/groups%3Fnum%3D50%26hl%3Den%26lr%3D%26ie%3DUTF-8%26safe%3Doff%26q%3D%2522Cannot%2Bopen%2Bfallback%2Bfont%252C%2Bnothing%2Bto%2Bdo%2522%26btnG%3DSearch
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=off&threadm=b6d06883.0301070805.64f48075%40posting.google.com&rnum=4&prev=/groups%3Fnum%3D50%26hl%3Den%26lr%3D%26ie%3DUTF-8%26safe%3Doff%26q%3D%2522Cannot%2Bopen%2Bfallback%2Bfont%252C%2Bnothing%2Bto%2Bdo%2522%26btnG%3DSearch
JDH
From: John H. <jdh...@ac...> - 2004年07月26日 21:31:06
>>>>> "Mark" == Mark Engelhardt <ma...@st...> writes:
 Mark> Hi, Two quick little issues I haven't been able to figure
 Mark> out how to fix on my own so far:
 Mark> 1. Is there an easy way to change the spacing between
 Mark> subplots, so that they aren't so crammed together? It's
 Mark> none too pretty when the x-axis text for the upper plot is
 Mark> overlapping or even below the title for the lower plot.
Which backend are you using? Chris Fuller submitted a tk widget for
just this purpose -
http://sourceforge.net/mailarchive/message.php?msg_id=8901913. It
would be fairly easy to port to other GUIs. It's on the list of things
to do, but I haven't had time. Other than that, your best option is
to manually set the axes size, eg using the 'axes' command or calling
 ax.set_position
 Mark> 2. Is there a way to make the 'show()' command execute so
 Mark> that the script keeps running (instead of waiting for the
 Mark> windows to be closed), and to have the output persist past
 Mark> the end of the run?
You should only call show once per script. I repeat, you should only
call show once per script -
http://matplotlib.sourceforge.net/faq.html#SHOW
matplotlib-0.60.2 has a "draw" command to force a canvas redraw. This
is non blocking. Earlier versions allow you to do, equivalently,
get_current_fig_manager().canvas.draw(). Does this do what you want?
I am not sure what you are after when you write "have the output
persist past the end of the run". Launch the python interpreter?
Please let me know what backend you are using and explain a bit more
what it is you are trying to do. Are you running in interactive mode?
JDH
From: Mark E. <ma...@st...> - 2004年07月26日 20:53:52
Hi,
Two quick little issues I haven't been able to figure out how to fix on 
my own so far:
1. Is there an easy way to change the spacing between subplots, so 
that they aren't so crammed together? It's none too pretty when the 
x-axis text for the upper plot is overlapping or even below the title 
for the lower plot.
2. Is there a way to make the 'show()' command execute so that the 
script keeps running (instead of waiting for the windows to be closed), 
and to have the output persist past the end of the run?
Thanks,
Mark
From: Jin-chung H. <hs...@st...> - 2004年07月26日 20:51:20
One would expect the following will fill up the plot window:
>>> n=zeros(20000)
>>> n[::2]=1
>>> plot(n)
The plot "stops" a little more than half way, as if it "runs out of ink".
It happens on Linux as well as Solaris, using either numarray and Numeric,
and both TkAgg and GTKAgg, but not GTK. Is this due to some AGG limitation?
JC Hsu
From: Bogdan M. <bog...@gm...> - 2004年07月26日 07:01:11
Attachments: newwx.py
 Hi John,
 I'm sending the code as an attachement, as it is 215 lines long
and some of them could wrap. Some thoughts about the code: in order to
test it just modify the definitions of IMAGE_FILE and (maybe)
PRINT_DPI. Then start the program and use "print" and "preview" from
the "file" menu. The preview doesn't look like the original plot (at
least on the machines I tested it), and I don't know why. The colors
seem to be twisted or something in the preview. If somebody has any
clues about this, I'd be more than happy to know. However, this is
only a preview problem, the print itself looks fine. Don't expect the
code to run on the current "official" version of wxPython (2.5.1.5);
download the 2.5.2.2 test release (or a more recent version) from
http://starship.python.net/crew/robind/wxPython/daily/20040722/. Only
tested on WinXP and Win2000 with the WXAgg backend, I don't know
anything about the other platforms or backends, if someone else could
test this it would be great. This could certainly be improved by
telling the backend what wxDC it should use to draw the image on (thus
skipping the save image/load image step), but so far I believe this is
a good solution.
 John, I have some comments on the wx / wxAgg backends; I've been
able to totally eliminate the very annoying flicker that I got when
moving a window on a plot canvas. I guess that the dev list would be a
better place for these comments, right?
-- 
Bogdan
From: John H. <jdh...@ac...> - 2004年07月25日 20:56:04
>>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes:
 Bogdan> Thank you, John. I thought I was lost to PyPlot too,
 Bogdan> but ... well, matplotlib is just too cool :) So I
 Bogdan> struggled a bit and I managed to get a print of the graph
 Bogdan> by first saving it to a file and then printing the
 Bogdan> file. It actually woks on wxPython 2.5.2.2, I don't expect
 Bogdan> it to work with 2.5.1.5. I imagine that some people will
 Bogdan> benefit from this code and I'd be more than happy to give
 Bogdan> my share to matplotlib. So please let me know how should I
 Bogdan> send my code. IF I should send it :) I'll do it tomorrow
 Bogdan> if everything is OK, I'm exhausted today.
Definitely send the code. If it's not too big, just post it to the
list. Pasting in the code is better than attachments because the
sourceforge archiver drops attachments (but be careful that the lines
don't wrap). If the code is too long, you can send it to me and I'll
include a link to it on the web site.
Thanks,
John
From: Bogdan M. <bog...@gm...> - 2004年07月25日 20:23:16
Use this snapshot that John was kind enough to provide:
http://nitace.bsd.uchicago.edu:8080/files/share/matplotlib-0.61.0a.win32-py2.3.exe
It should fix your problem.
On 2004年7月25日 15:51:27 -0400, Darren Dale <dd...@co...> wrote:
> Hi All,
> 
> If I use the WXAgg backend, and call figure(1,figsize=(x,y)), if x or y
> is bigger than the standard 8 and 6, the plot wont render and I get an
> unhandled win32 exception.
> 
> Darren
> 
> --
> Darren S. Dale
> dd...@co...
> 
> PGP public key available
> 
> 
> 
> 
-- 
Bogdan
From: Darren D. <dd...@co...> - 2004年07月25日 19:52:18
Attachments: dd55.vcf
Hi All,
If I use the WXAgg backend, and call figure(1,figsize=(x,y)), if x or y 
is bigger than the standard 8 and 6, the plot wont render and I get an 
unhandled win32 exception.
Darren
-- 
Darren S. Dale
dd...@co...
PGP public key available
From: Charles R. T. <cha...@in...> - 2004年07月24日 02:29:48
On 2004年7月19日, Malte Marquarding wrote:
MM>'apt-cache search matplotlib' should give you the names of all the
MM>relevant matplotlib packages if you don't know them.
But oddly, for me, it doesn't. I only see the docs.
> apt-cache search matplotlib
python-matplotlib-doc - A python based gtk plotting system in a style
similar to matlab (documentation)
>
Strange. But if Malte can get them, it's probably not a problem with
mentors.net. Hrm....
-Charles
-- 
Charles R. Twardy www.csse.monash.edu.au/~ctwardy
Monash University sarbayes.org
Computer Sci. & Software Eng. +61(3) 9905 5823 (w) 5146 (fax)
Allow the president to invade a neighboring nation, whenever he shall
deem it necessary to repel an invasion, ... and you allow him to make
war at pleasure. --Abraham Lincoln
From: Bogdan M. <bog...@gm...> - 2004年07月23日 20:34:46
 Thank you, John. I thought I was lost to PyPlot too, but ... well,
matplotlib is just too cool :) So I struggled a bit and I managed to
get a print of the graph by first saving it to a file and then
printing the file. It actually woks on wxPython 2.5.2.2, I don't
expect it to work with 2.5.1.5. I imagine that some people will
benefit from this code and I'd be more than happy to give my share to
matplotlib. So please let me know how should I send my code. IF I
should send it :) I'll do it tomorrow if everything is OK, I'm
exhausted today.
On 2004年7月23日 14:25:31 -0500, John Hunter
<jdh...@ac...> wrote:
> >>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes:
> 
> Bogdan> Hello again, I've created some axes, and I'm trying to
> Bogdan> put some custom Ox tick labels on the axes. I would also
> Bogdan> like to have different alignments for each tick
> Bogdan> label. This is the code I'm using (with matplotlib.0.61.0a
> Bogdan> on Win32 with the WXAgg backend):
> 
> Hi, I thought we had lost you to PyPlot :-)
> 
> Egads, that was a tough one. Every once in a while when developing
> I'll make a temporary change in the src code for experimental purposes
> and forget to undo it. This is one of those cases. In
> matplotlib.axis.XAxis, on or around line 575, find the line that reads
> 
> #tick = self._get_tick(major=True)
> tick = protoTick
> 
> and replace it with
> 
> tick = self._get_tick(major=True)
> 
> The assignment 'tick = protoTick' was causing all ticks to share
> properties.
> 
> FYI, matplotlib has a fairly general and extensible tick locator and
> formatter framework, which you can read about in
> http://matplotlib.sf.net/matplotlib.ticker.html and in the examples
> custom_ticker1.py, major_minor_demo1.py and major_minor_demo2.py in
> the matplotlib src distribution or at
> http://matplotlib.sf.net/examples. The set_ticks, set_ticklabels,
> etc, commands are just wrappers for these classes.
> 
> JDH
> 
> 
-- 
Bogdan
From: John H. <jdh...@ac...> - 2004年07月23日 19:49:29
>>>>> "Bogdan" == Bogdan Marinescu <bog...@gm...> writes:
 Bogdan> Hello again, I've created some axes, and I'm trying to
 Bogdan> put some custom Ox tick labels on the axes. I would also
 Bogdan> like to have different alignments for each tick
 Bogdan> label. This is the code I'm using (with matplotlib.0.61.0a
 Bogdan> on Win32 with the WXAgg backend):
Hi, I thought we had lost you to PyPlot :-)
Egads, that was a tough one. Every once in a while when developing
I'll make a temporary change in the src code for experimental purposes
and forget to undo it. This is one of those cases. In
matplotlib.axis.XAxis, on or around line 575, find the line that reads
 #tick = self._get_tick(major=True)
 tick = protoTick
and replace it with 
 tick = self._get_tick(major=True)
The assignment 'tick = protoTick' was causing all ticks to share
properties.
FYI, matplotlib has a fairly general and extensible tick locator and
formatter framework, which you can read about in
http://matplotlib.sf.net/matplotlib.ticker.html and in the examples
custom_ticker1.py, major_minor_demo1.py and major_minor_demo2.py in
the matplotlib src distribution or at
http://matplotlib.sf.net/examples. The set_ticks, set_ticklabels,
etc, commands are just wrappers for these classes.
JDH
From: Bogdan M. <bog...@gm...> - 2004年07月23日 18:59:37
 Hello again,
 I've created some axes, and I'm trying to put some custom Ox tick
labels on the axes. I would also like to have different alignments for
each tick label. This is the code I'm using (with matplotlib.0.61.0a
on Win32 with the WXAgg backend):
 self.axes.set_xticks( [0, 1, 2, 3 ])
 th = self.axes.set_xticklabels( ['12:23:000', '+4s', '+8s', '+12s' ] )
 th[ 0 ].set_horizontalalignment( 'left' )
 th[ 1 ].set_horizontalalignment( 'center' )
 th[ 2 ].set_horizontalalignment( 'center' )
 th[ 3 ].set_horizontalalignment( 'right' )
 But it seems that all the tick labels have the last set alignment
(in this case 'right'). Is this a bug, or am I just missing something
as usual?
 Thank you.
-- 
Bogdan
5 messages has been excluded from this view by a project administrator.

Showing results of 166

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